{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 用户消费行为分析\n",
    "    本专题主要对平台中33产品线的历史数据进行分析展示，目的是描绘用户画像，理解业务趋势与发现未知关键点，最终协助提升协助提升该产品运营效能"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns\n",
    "import missingno\n",
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\" \n",
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\")\n",
    "from datetime import datetime\n",
    "import matplotlib as mpl\n",
    "mpl.rcParams['font.sans-serif'] = ['FangSong']  # 指定默认字体\n",
    "# mpl.rcParams['axes.unicode_minus'] "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_sex(v_str):\n",
    "    \"\"\"\n",
    "    身份证区分 性别\n",
    "    \"\"\"\n",
    "    sex = int(v_str[16])\n",
    "    if sex%2:\n",
    "        sex=\"男\"\n",
    "    else:\n",
    "        sex=\"女\"\n",
    "    return sex\n",
    "\n",
    "def value_out_idx(df_dup,cols):\n",
    "    \"\"\"\n",
    "    获得到指定列的异常值\n",
    "    eg:\n",
    "    # df_dup_a = df_dup[~df_dup.index.isin(drop_idx_list)]\n",
    "    # drop_idx_list = value_out_idx(df_dup,['orderAmo','用户购买商品总数量','用户购买商品总金额','用户购买商品平均价格'])\n",
    "    \"\"\"\n",
    "    drop_idx_list = []\n",
    "    for col in cols:\n",
    "        ### 去除极端异常值\n",
    "        Percentile = np.percentile(df_dup[col],[0,25,50,75,100])\n",
    "        IQR = Percentile[3] - Percentile[1]\n",
    "        UpLimit = Percentile[3]+IQR*1.5\n",
    "        DownLimit = Percentile[1]-IQR*1.5\n",
    "\n",
    "        orderAmo_out_index = df_dup[(df_dup[col] > UpLimit) | (df_dup[col] < DownLimit)].index.tolist()\n",
    "        drop_idx_list.extend(orderAmo_out_index)\n",
    "    return list(set(drop_idx_list))\n",
    "\n",
    "def get_sha256(v_str):\n",
    "    \"\"\"\n",
    "    给字符串进行sha25加密，返回加密结果\n",
    "    \"\"\"\n",
    "    import hashlib\n",
    "    sh = hashlib.sha256()\n",
    "    return hashlib.sha256(str(v_str).encode()).hexdigest()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 加载数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(423383, 9)"
      ]
     },
     "execution_count": 159,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f_P = r'E:\\工作文档\\工作任务\\20191116用户分析\\analysis.OrderCheckCol.csv'\n",
    "with open(f_P,encoding='utf-8') as f:\n",
    "    df = pd.read_csv(f)\n",
    "df.userMobile = df.userMobile.apply(get_sha256)\n",
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "用户去重数:\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "123477"
      ]
     },
     "execution_count": 160,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print('用户去重数:')\n",
    "df.userMobile.nunique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>userMobile</th>\n",
       "      <th>orderTime</th>\n",
       "      <th>orderCode</th>\n",
       "      <th>orderAmo</th>\n",
       "      <th>instalmentRate</th>\n",
       "      <th>idNum</th>\n",
       "      <th>article.0.artCount</th>\n",
       "      <th>article.0.artName</th>\n",
       "      <th>article.0.artPrice</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>fa73075f4f9c77d65e8da8be9e76f9ddf0e77c019ab39b...</td>\n",
       "      <td>2016-06-29</td>\n",
       "      <td>31160629032609042763</td>\n",
       "      <td>2499.0</td>\n",
       "      <td>0.06</td>\n",
       "      <td>320411198706093133W</td>\n",
       "      <td>1</td>\n",
       "      <td>【Casio】卡西欧 美颜数码相机</td>\n",
       "      <td>2499.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>fa73075f4f9c77d65e8da8be9e76f9ddf0e77c019ab39b...</td>\n",
       "      <td>2016-06-29</td>\n",
       "      <td>31160629033353047306</td>\n",
       "      <td>1200.0</td>\n",
       "      <td>0.06</td>\n",
       "      <td>320411198706093133W</td>\n",
       "      <td>1</td>\n",
       "      <td>【Sea-gull】海鸥人气男表飞轮系列</td>\n",
       "      <td>1200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>15f4c7101496af374d09744e0f1b78a1b9f876d75d7cfb...</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>31160630115101405596</td>\n",
       "      <td>2499.0</td>\n",
       "      <td>0.06</td>\n",
       "      <td>411381198812087630</td>\n",
       "      <td>1</td>\n",
       "      <td>【Casio】卡西欧 美颜数码相机</td>\n",
       "      <td>2499.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>15f4c7101496af374d09744e0f1b78a1b9f876d75d7cfb...</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>31160630122405444435</td>\n",
       "      <td>3999.0</td>\n",
       "      <td>0.06</td>\n",
       "      <td>411381198812087630</td>\n",
       "      <td>1</td>\n",
       "      <td>联想【ThinkPad 】轻薄系列E450</td>\n",
       "      <td>3999.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>992527fbc136b61977f1acae6826c0e1449c0fb0dda442...</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>31160630150116615533</td>\n",
       "      <td>3760.0</td>\n",
       "      <td>0.06</td>\n",
       "      <td>510821198807065510</td>\n",
       "      <td>1</td>\n",
       "      <td>iPhone SE  粉色 64G</td>\n",
       "      <td>3760.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                          userMobile   orderTime  \\\n",
       "0  fa73075f4f9c77d65e8da8be9e76f9ddf0e77c019ab39b...  2016-06-29   \n",
       "1  fa73075f4f9c77d65e8da8be9e76f9ddf0e77c019ab39b...  2016-06-29   \n",
       "2  15f4c7101496af374d09744e0f1b78a1b9f876d75d7cfb...  2016-06-30   \n",
       "3  15f4c7101496af374d09744e0f1b78a1b9f876d75d7cfb...  2016-06-30   \n",
       "4  992527fbc136b61977f1acae6826c0e1449c0fb0dda442...  2016-06-30   \n",
       "\n",
       "              orderCode  orderAmo  instalmentRate                idNum  \\\n",
       "0  31160629032609042763    2499.0            0.06  320411198706093133W   \n",
       "1  31160629033353047306    1200.0            0.06  320411198706093133W   \n",
       "2  31160630115101405596    2499.0            0.06   411381198812087630   \n",
       "3  31160630122405444435    3999.0            0.06   411381198812087630   \n",
       "4  31160630150116615533    3760.0            0.06   510821198807065510   \n",
       "\n",
       "   article.0.artCount      article.0.artName  article.0.artPrice  \n",
       "0                   1      【Casio】卡西欧 美颜数码相机              2499.0  \n",
       "1                   1   【Sea-gull】海鸥人气男表飞轮系列              1200.0  \n",
       "2                   1      【Casio】卡西欧 美颜数码相机              2499.0  \n",
       "3                   1  联想【ThinkPad 】轻薄系列E450              3999.0  \n",
       "4                   1      iPhone SE  粉色 64G              3760.0  "
      ]
     },
     "execution_count": 161,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [],
   "source": [
    "### 原始数据\n",
    "df['orderTime'] = pd.to_datetime(df['orderTime'])\n",
    "df = df.sort_values(by=['userMobile','orderTime'],ascending=True)\n",
    "df['month'] = df['orderTime'].astype('datetime64[M]')\n",
    "df.columns = ['用户ID','订单时间','订单号','订单金额','利率','身份证号','商品个数','商品名称','商品价格','月份']\n",
    "df['性别'] = df['身份证号'].apply(get_sex)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 异常值去除"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "删除样本数： 2477\n"
     ]
    }
   ],
   "source": [
    "drop_idx_list = value_out_idx(df,['订单金额','商品个数','商品价格'])\n",
    "df = df[~df.index.isin(drop_idx_list)]\n",
    "print(\"删除样本数：\",len(drop_idx_list))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>用户ID</th>\n",
       "      <th>订单时间</th>\n",
       "      <th>订单号</th>\n",
       "      <th>订单金额</th>\n",
       "      <th>利率</th>\n",
       "      <th>身份证号</th>\n",
       "      <th>商品个数</th>\n",
       "      <th>商品名称</th>\n",
       "      <th>商品价格</th>\n",
       "      <th>月份</th>\n",
       "      <th>性别</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>186900</th>\n",
       "      <td>00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145d...</td>\n",
       "      <td>2016-08-27</td>\n",
       "      <td>311608271335042383745</td>\n",
       "      <td>980.0</td>\n",
       "      <td>0.120</td>\n",
       "      <td>230105199608281324</td>\n",
       "      <td>1</td>\n",
       "      <td>【cle de peau beaute】肌肤之钥 防晒遮瑕光缎粉底液</td>\n",
       "      <td>980.0</td>\n",
       "      <td>2016-08-01</td>\n",
       "      <td>女</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>236502</th>\n",
       "      <td>00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145d...</td>\n",
       "      <td>2016-09-10</td>\n",
       "      <td>311609101013132382610</td>\n",
       "      <td>1880.0</td>\n",
       "      <td>0.120</td>\n",
       "      <td>230105199608281324</td>\n",
       "      <td>1</td>\n",
       "      <td>【FOREO】 LUNA 洁面仪硅胶洗脸仪深层毛孔清洁</td>\n",
       "      <td>1880.0</td>\n",
       "      <td>2016-09-01</td>\n",
       "      <td>女</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>241887</th>\n",
       "      <td>00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145d...</td>\n",
       "      <td>2016-09-11</td>\n",
       "      <td>311609112337072389158</td>\n",
       "      <td>1090.0</td>\n",
       "      <td>0.120</td>\n",
       "      <td>230105199608281324</td>\n",
       "      <td>1</td>\n",
       "      <td>【丹尼尔惠灵顿】 时尚超薄小表盘 镶钻女表</td>\n",
       "      <td>1090.0</td>\n",
       "      <td>2016-09-01</td>\n",
       "      <td>女</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>274330</th>\n",
       "      <td>00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145d...</td>\n",
       "      <td>2016-09-21</td>\n",
       "      <td>311609211033012381936</td>\n",
       "      <td>500.0</td>\n",
       "      <td>0.120</td>\n",
       "      <td>230105199608281324</td>\n",
       "      <td>1</td>\n",
       "      <td>【Guerlain】娇兰小黑裙淡香氛 50ml</td>\n",
       "      <td>500.0</td>\n",
       "      <td>2016-09-01</td>\n",
       "      <td>女</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>369027</th>\n",
       "      <td>00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145d...</td>\n",
       "      <td>2016-11-03</td>\n",
       "      <td>311611031620002381832</td>\n",
       "      <td>590.0</td>\n",
       "      <td>0.144</td>\n",
       "      <td>230105199608281324</td>\n",
       "      <td>1</td>\n",
       "      <td>【GIVENCHY】纪梵希高定恒颜气垫粉底霜（自然白）</td>\n",
       "      <td>590.0</td>\n",
       "      <td>2016-11-01</td>\n",
       "      <td>女</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                     用户ID       订单时间  \\\n",
       "186900  00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145d... 2016-08-27   \n",
       "236502  00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145d... 2016-09-10   \n",
       "241887  00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145d... 2016-09-11   \n",
       "274330  00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145d... 2016-09-21   \n",
       "369027  00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145d... 2016-11-03   \n",
       "\n",
       "                          订单号    订单金额     利率                身份证号  商品个数  \\\n",
       "186900  311608271335042383745   980.0  0.120  230105199608281324     1   \n",
       "236502  311609101013132382610  1880.0  0.120  230105199608281324     1   \n",
       "241887  311609112337072389158  1090.0  0.120  230105199608281324     1   \n",
       "274330  311609211033012381936   500.0  0.120  230105199608281324     1   \n",
       "369027  311611031620002381832   590.0  0.144  230105199608281324     1   \n",
       "\n",
       "                                      商品名称    商品价格         月份 性别  \n",
       "186900  【cle de peau beaute】肌肤之钥 防晒遮瑕光缎粉底液   980.0 2016-08-01  女  \n",
       "236502         【FOREO】 LUNA 洁面仪硅胶洗脸仪深层毛孔清洁  1880.0 2016-09-01  女  \n",
       "241887               【丹尼尔惠灵顿】 时尚超薄小表盘 镶钻女表  1090.0 2016-09-01  女  \n",
       "274330             【Guerlain】娇兰小黑裙淡香氛 50ml   500.0 2016-09-01  女  \n",
       "369027         【GIVENCHY】纪梵希高定恒颜气垫粉底霜（自然白）   590.0 2016-11-01  女  "
      ]
     },
     "execution_count": 158,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 特征衍生"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['月份',\n",
       " '用户ID',\n",
       " '利率_mean',\n",
       " '商品个数_mean',\n",
       " '商品个数_sum',\n",
       " '商品价格_mean',\n",
       " '商品价格_sum',\n",
       " '订单号_count',\n",
       " '订单时间_max',\n",
       " '订单时间_min',\n",
       " '订单金额_mean',\n",
       " '订单金额_sum']"
      ]
     },
     "execution_count": 144,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>月份</th>\n",
       "      <th>用户ID</th>\n",
       "      <th>利率_mean</th>\n",
       "      <th>商品个数_mean</th>\n",
       "      <th>商品个数_sum</th>\n",
       "      <th>商品价格_mean</th>\n",
       "      <th>商品价格_sum</th>\n",
       "      <th>订单号_count</th>\n",
       "      <th>订单时间_max</th>\n",
       "      <th>订单时间_min</th>\n",
       "      <th>订单金额_mean</th>\n",
       "      <th>订单金额_sum</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2016-06-01</td>\n",
       "      <td>00784389b44b0733d42272028ef814115b179f46d2bbd7...</td>\n",
       "      <td>0.06</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>4999.0</td>\n",
       "      <td>4999.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>4999.0</td>\n",
       "      <td>4999.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2016-06-01</td>\n",
       "      <td>015118b19433e83dee602ad4cedfb44a8186d20ed21b12...</td>\n",
       "      <td>0.06</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>549.0</td>\n",
       "      <td>549.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>549.0</td>\n",
       "      <td>549.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2016-06-01</td>\n",
       "      <td>01923f093bcccc0007e6ddae5ab676995bab66ea5122a6...</td>\n",
       "      <td>0.06</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3278.0</td>\n",
       "      <td>3278.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>3278.0</td>\n",
       "      <td>3278.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2016-06-01</td>\n",
       "      <td>02c8b0805a7510a3a2b96bf1efaeb0049e53ed770f80f6...</td>\n",
       "      <td>0.06</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5399.0</td>\n",
       "      <td>5399.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>5399.0</td>\n",
       "      <td>5399.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2016-06-01</td>\n",
       "      <td>03afdcbe826a282016495d6aab1149d68e0ff431beb7cb...</td>\n",
       "      <td>0.06</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2299.0</td>\n",
       "      <td>2299.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>2299.0</td>\n",
       "      <td>2299.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          月份                                               用户ID  利率_mean  \\\n",
       "0 2016-06-01  00784389b44b0733d42272028ef814115b179f46d2bbd7...     0.06   \n",
       "1 2016-06-01  015118b19433e83dee602ad4cedfb44a8186d20ed21b12...     0.06   \n",
       "2 2016-06-01  01923f093bcccc0007e6ddae5ab676995bab66ea5122a6...     0.06   \n",
       "3 2016-06-01  02c8b0805a7510a3a2b96bf1efaeb0049e53ed770f80f6...     0.06   \n",
       "4 2016-06-01  03afdcbe826a282016495d6aab1149d68e0ff431beb7cb...     0.06   \n",
       "\n",
       "   商品个数_mean  商品个数_sum  商品价格_mean  商品价格_sum  订单号_count   订单时间_max   订单时间_min  \\\n",
       "0          1         1     4999.0    4999.0          1 2016-06-30 2016-06-30   \n",
       "1          1         1      549.0     549.0          1 2016-06-30 2016-06-30   \n",
       "2          1         1     3278.0    3278.0          1 2016-06-30 2016-06-30   \n",
       "3          1         1     5399.0    5399.0          1 2016-06-30 2016-06-30   \n",
       "4          1         1     2299.0    2299.0          1 2016-06-30 2016-06-30   \n",
       "\n",
       "   订单金额_mean  订单金额_sum  \n",
       "0     4999.0    4999.0  \n",
       "1      549.0     549.0  \n",
       "2     3278.0    3278.0  \n",
       "3     5399.0    5399.0  \n",
       "4     2299.0    2299.0  "
      ]
     },
     "execution_count": 144,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "['用户ID',\n",
       " '利率_mean',\n",
       " '商品个数_mean',\n",
       " '商品个数_sum',\n",
       " '商品价格_mean',\n",
       " '商品价格_sum',\n",
       " '订单号_count',\n",
       " '订单时间_max',\n",
       " '订单时间_min',\n",
       " '订单金额_mean',\n",
       " '订单金额_sum']"
      ]
     },
     "execution_count": 144,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>用户ID</th>\n",
       "      <th>利率_mean</th>\n",
       "      <th>商品个数_mean</th>\n",
       "      <th>商品个数_sum</th>\n",
       "      <th>商品价格_mean</th>\n",
       "      <th>商品价格_sum</th>\n",
       "      <th>订单号_count</th>\n",
       "      <th>订单时间_max</th>\n",
       "      <th>订单时间_min</th>\n",
       "      <th>订单金额_mean</th>\n",
       "      <th>订单金额_sum</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145d...</td>\n",
       "      <td>0.1248</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>1008.0</td>\n",
       "      <td>5040.0</td>\n",
       "      <td>5</td>\n",
       "      <td>2016-11-03</td>\n",
       "      <td>2016-08-27</td>\n",
       "      <td>1008.0</td>\n",
       "      <td>5040.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d...</td>\n",
       "      <td>0.0300</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>69.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2016-09-17</td>\n",
       "      <td>2016-09-17</td>\n",
       "      <td>69.0</td>\n",
       "      <td>69.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0000805ecf5800b3267df411dda74e632200d9b5357859...</td>\n",
       "      <td>0.0300</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>69.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2016-08-27</td>\n",
       "      <td>2016-08-27</td>\n",
       "      <td>69.0</td>\n",
       "      <td>69.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f...</td>\n",
       "      <td>0.1200</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>436.0</td>\n",
       "      <td>1308.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2016-09-27</td>\n",
       "      <td>2016-09-25</td>\n",
       "      <td>436.0</td>\n",
       "      <td>1308.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>00026c7234c746561ecb358fb8d673413d1fca52adc121...</td>\n",
       "      <td>0.1320</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2249.0</td>\n",
       "      <td>4498.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016-10-05</td>\n",
       "      <td>2016-09-23</td>\n",
       "      <td>2249.0</td>\n",
       "      <td>4498.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                用户ID  利率_mean  商品个数_mean  \\\n",
       "0  00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145d...   0.1248          1   \n",
       "1  0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d...   0.0300          1   \n",
       "2  0000805ecf5800b3267df411dda74e632200d9b5357859...   0.0300          1   \n",
       "3  0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f...   0.1200          1   \n",
       "4  00026c7234c746561ecb358fb8d673413d1fca52adc121...   0.1320          1   \n",
       "\n",
       "   商品个数_sum  商品价格_mean  商品价格_sum  订单号_count   订单时间_max   订单时间_min  订单金额_mean  \\\n",
       "0         5     1008.0    5040.0          5 2016-11-03 2016-08-27     1008.0   \n",
       "1         1       69.0      69.0          1 2016-09-17 2016-09-17       69.0   \n",
       "2         1       69.0      69.0          1 2016-08-27 2016-08-27       69.0   \n",
       "3         3      436.0    1308.0          3 2016-09-27 2016-09-25      436.0   \n",
       "4         2     2249.0    4498.0          2 2016-10-05 2016-09-23     2249.0   \n",
       "\n",
       "   订单金额_sum  \n",
       "0    5040.0  \n",
       "1      69.0  \n",
       "2      69.0  \n",
       "3    1308.0  \n",
       "4    4498.0  "
      ]
     },
     "execution_count": 144,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "### 月份与用户ID聚合\n",
    "df_m_grby = pd.pivot_table(data=df,index=['月份','用户ID'],values=['订单号','订单时间','订单金额','利率','商品个数','商品价格'],aggfunc={\n",
    "    '订单时间':['max','min'],\n",
    "    '订单金额':['sum','mean'],\n",
    "    '商品个数':['sum','mean'],\n",
    "    '商品价格':['sum','mean'],\n",
    "    '订单号':'count',\n",
    "    '利率':'mean'\n",
    "}).reset_index()\n",
    "cols = [\"_\".join(x) if x[1] != '' else x[0] for x in df_m_grby.columns.ravel()]\n",
    "cols\n",
    "df_m_grby.columns = cols\n",
    "df_m_grby.head()\n",
    "\n",
    "### 用户ID\n",
    "\n",
    "df_grby = pd.pivot_table(data=df,index=['用户ID'],values=['订单号','订单时间','订单金额','利率','商品个数','商品价格'],aggfunc={\n",
    "    '订单时间':['max','min'],\n",
    "    '订单金额':['sum','mean'],\n",
    "    '商品个数':['sum','mean'],\n",
    "    '商品价格':['sum','mean'],\n",
    "    '订单号':'count',\n",
    "    '利率':'mean'\n",
    "}).reset_index()\n",
    "cols = [\"_\".join(x) if x[1] != '' else x[0] for x in df_grby.columns.ravel()]\n",
    "cols\n",
    "df_grby.columns = cols\n",
    "df_grby.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>月份</th>\n",
       "      <th>用户ID</th>\n",
       "      <th>利率_mean</th>\n",
       "      <th>商品个数_mean</th>\n",
       "      <th>商品个数_sum</th>\n",
       "      <th>商品价格_count</th>\n",
       "      <th>商品价格_mean</th>\n",
       "      <th>商品价格_sum</th>\n",
       "      <th>订单时间_max</th>\n",
       "      <th>订单时间_min</th>\n",
       "      <th>订单金额_mean</th>\n",
       "      <th>订单金额_sum</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2016-06-01</td>\n",
       "      <td>00784389b44b0733d42272028ef814115b179f46d2bbd7...</td>\n",
       "      <td>0.06</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>4999.0</td>\n",
       "      <td>4999.0</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>4999.0</td>\n",
       "      <td>4999.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2016-06-01</td>\n",
       "      <td>015118b19433e83dee602ad4cedfb44a8186d20ed21b12...</td>\n",
       "      <td>0.06</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>549.0</td>\n",
       "      <td>549.0</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>549.0</td>\n",
       "      <td>549.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2016-06-01</td>\n",
       "      <td>01923f093bcccc0007e6ddae5ab676995bab66ea5122a6...</td>\n",
       "      <td>0.06</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3278.0</td>\n",
       "      <td>3278.0</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>3278.0</td>\n",
       "      <td>3278.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2016-06-01</td>\n",
       "      <td>02c8b0805a7510a3a2b96bf1efaeb0049e53ed770f80f6...</td>\n",
       "      <td>0.06</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5399.0</td>\n",
       "      <td>5399.0</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>5399.0</td>\n",
       "      <td>5399.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2016-06-01</td>\n",
       "      <td>03afdcbe826a282016495d6aab1149d68e0ff431beb7cb...</td>\n",
       "      <td>0.06</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2299.0</td>\n",
       "      <td>2299.0</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>2016-06-30</td>\n",
       "      <td>2299.0</td>\n",
       "      <td>2299.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          月份                                               用户ID  利率_mean  \\\n",
       "0 2016-06-01  00784389b44b0733d42272028ef814115b179f46d2bbd7...     0.06   \n",
       "1 2016-06-01  015118b19433e83dee602ad4cedfb44a8186d20ed21b12...     0.06   \n",
       "2 2016-06-01  01923f093bcccc0007e6ddae5ab676995bab66ea5122a6...     0.06   \n",
       "3 2016-06-01  02c8b0805a7510a3a2b96bf1efaeb0049e53ed770f80f6...     0.06   \n",
       "4 2016-06-01  03afdcbe826a282016495d6aab1149d68e0ff431beb7cb...     0.06   \n",
       "\n",
       "   商品个数_mean  商品个数_sum  商品价格_count  商品价格_mean  商品价格_sum   订单时间_max   订单时间_min  \\\n",
       "0          1         1           1     4999.0    4999.0 2016-06-30 2016-06-30   \n",
       "1          1         1           1      549.0     549.0 2016-06-30 2016-06-30   \n",
       "2          1         1           1     3278.0    3278.0 2016-06-30 2016-06-30   \n",
       "3          1         1           1     5399.0    5399.0 2016-06-30 2016-06-30   \n",
       "4          1         1           1     2299.0    2299.0 2016-06-30 2016-06-30   \n",
       "\n",
       "   订单金额_mean  订单金额_sum  \n",
       "0     4999.0    4999.0  \n",
       "1      549.0     549.0  \n",
       "2     3278.0    3278.0  \n",
       "3     5399.0    5399.0  \n",
       "4     2299.0    2299.0  "
      ]
     },
     "execution_count": 133,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_m_grby.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x199b14c3518>]"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '每月消费总金额变化趋势')"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x199b4dfc710>]"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '每月订单数变化趋势')"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x199adbab7f0>]"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '每月消费产品购买量')"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x199adbc4940>]"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '每月用户数变化趋势')"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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deG3v4VPPrEZHc85x2ruDjsMOneGG2+0qV+dqwiexItYsMDWLR4+3BZXcM65RETsQv8f/4CFC60fTZcu1nbeoYONR3/qKV/r3JUvT+JF5OdbhxWfK905V1rZ2dbh7Y03YO5cS+QzZ1q/mlatrC3900/DjtJVRj7ErIgDDrDOLNOmldtLOOeqgO3brZ38kUesn83mzbYIyznnWCGhSZOwI3RR4UPMSmnGDGvn8lK4c25XVatmc0yMHw+LFlm1u4iVylu2tFL666/bGg3OpcqTeJzx4+0fb+jQsCNxzlUmjRtbT/bp061a/cILrer9yCOhUyerfp87N+woXRR5Eg+oWq/0gQPtKtk558pDjx5wzz3WGe7pp6F7d7jpJkvmhx1m30MbN4YdpYsKT+KBadNgzhyvSnfOVYxatWxq59des6ldb7oJfvjBxpy3bGkl94ICnxnOFc+TeGDcOPunOumksCNxzlU1bdvCtdfCrFnwzjtw/PG2stqBB8J++8Hf/gbLloUdpctEnsSBrVttPOexx0LDhmFH45yrqqpVg/794fHHrTPcgw/a8LXf/96WSB0yBCZO9M5wrpAnceCtt2DpUp9m1TmXORo2tFXT/vtf+PJL69X+/vtwzDHQvj1ccw18/33YUbqw+ThxbC3hF1+ExYt97XDnXOb65Reb4vXhh60tfft26NvXxp4PGWJTwrrSU7UZ9davh3Xr7Gc67t98s12ApUtx48Srp+9lomnDBpuIYehQT+DOucxWsyaceKLdFi60avdHHoGzzrKS+rBhltAPOqhyTRutaslxzZr0JdvYrSyL1lSvDvXq2cVS3bqF95s2tdqR2PZu3crvsyiqypfEn37aEvhbb9nwMuecixJVmDrVkvnTT1ti2nNPS+annw677RZ2hIW2bLGlnleu3Plnsvuxn1u3lv51iibZdN2vWbP8PpviFFcSr/JJfPBgG8bx44++drhzLtrWrrVE/sgj8OGHVnI89lhL6IMG2eNdpWqvU1zCTbZt3briz92woU1H26SJTZAT/7NJE2jQoDChJku42dnWQbAyyfgkLiKjgJ+BFar6ZHHHpjOJr1wJLVpYNdSdd6bllM45lxFmzIB//xseewyWLLHvujPOgLPPhj32sPb10ibfotuK6x1fs6ZVLydKwonux342auQFqWQyOomLSE/g16p6m4g8BFysqr8k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\n",
      "text/plain": [
       "<Figure size 576x864 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#按月分组\n",
    "grouped_month = df_m_grby.groupby('月份')\n",
    "#制定可视化图分析不同维度用户消费趋势\n",
    "fig = plt.figure(figsize = (8,12))\n",
    "ax1 = fig.add_subplot(4,1,1)\n",
    "ax2 = fig.add_subplot(4,1,2)\n",
    "ax3 = fig.add_subplot(4,1,3)\n",
    "ax4 = fig.add_subplot(4,1,4)\n",
    "\n",
    "# 按月金额数(图1)\n",
    "ax1.plot(grouped_month.订单金额_sum.sum(),c='blue')\n",
    "ax1.set_title('每月消费总金额变化趋势')\n",
    "\n",
    "# 按月的订单数(图2)\n",
    "ax2.plot(grouped_month.订单号_count.count(),c='blue')\n",
    "ax2.set_title('每月订单数变化趋势')\n",
    "\n",
    "# 按月产品数(图3)\n",
    "ax3.plot(grouped_month.商品个数_sum.sum(),c='blue')\n",
    "ax3.set_title('每月消费产品购买量')\n",
    "\n",
    "# 每月用户人数  这里需要去重，有些用户重复购买(图4)\n",
    "ax4.plot(df_m_grby.groupby('月份').size(),c='blue')\n",
    "ax4.set_title('每月用户数变化趋势')\n",
    "# 另一种去重方式：df.groupby(['month','user_id']).count().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#每月用户消费的平均金额(图5)\n",
    "# ((grouped_month.orderAmo.sum())/(grouped_month.userMobile.apply(lambda x: len(x.drop_duplicates())))).plot()\n",
    "sns.lineplot(x='月份',y='订单金额_mean',data=df_m_grby,estimator='mean')\n",
    "plt.title('每月用户消费的平均金额');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 透视表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>month</th>\n",
       "      <th>instalmentRate</th>\n",
       "      <th>orderAmo</th>\n",
       "      <th>用户最后一次购买时间距现在天数</th>\n",
       "      <th>用户购买商品总数量</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2016-06-01</td>\n",
       "      <td>0.059257</td>\n",
       "      <td>3985.762376</td>\n",
       "      <td>1238.009901</td>\n",
       "      <td>1.227723</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2016-07-01</td>\n",
       "      <td>0.071688</td>\n",
       "      <td>3604.734401</td>\n",
       "      <td>1224.527819</td>\n",
       "      <td>2.041654</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2016-08-01</td>\n",
       "      <td>0.086356</td>\n",
       "      <td>2135.535617</td>\n",
       "      <td>1186.095292</td>\n",
       "      <td>2.526973</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2016-09-01</td>\n",
       "      <td>0.081350</td>\n",
       "      <td>1966.967027</td>\n",
       "      <td>1159.703895</td>\n",
       "      <td>2.850562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2016-10-01</td>\n",
       "      <td>0.128619</td>\n",
       "      <td>2709.351907</td>\n",
       "      <td>1131.054260</td>\n",
       "      <td>4.381763</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2016-11-01</td>\n",
       "      <td>0.135881</td>\n",
       "      <td>2847.122352</td>\n",
       "      <td>1101.615500</td>\n",
       "      <td>5.715154</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2016-12-01</td>\n",
       "      <td>0.134831</td>\n",
       "      <td>2479.987711</td>\n",
       "      <td>1072.693548</td>\n",
       "      <td>6.584839</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2017-01-01</td>\n",
       "      <td>0.137833</td>\n",
       "      <td>2205.991649</td>\n",
       "      <td>1033.781585</td>\n",
       "      <td>5.653105</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2017-02-01</td>\n",
       "      <td>0.137244</td>\n",
       "      <td>2221.634546</td>\n",
       "      <td>1007.842939</td>\n",
       "      <td>6.059798</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2017-03-01</td>\n",
       "      <td>0.135541</td>\n",
       "      <td>2277.719752</td>\n",
       "      <td>977.654081</td>\n",
       "      <td>8.666667</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       month  instalmentRate     orderAmo  用户最后一次购买时间距现在天数  用户购买商品总数量\n",
       "0 2016-06-01        0.059257  3985.762376      1238.009901   1.227723\n",
       "1 2016-07-01        0.071688  3604.734401      1224.527819   2.041654\n",
       "2 2016-08-01        0.086356  2135.535617      1186.095292   2.526973\n",
       "3 2016-09-01        0.081350  1966.967027      1159.703895   2.850562\n",
       "4 2016-10-01        0.128619  2709.351907      1131.054260   4.381763\n",
       "5 2016-11-01        0.135881  2847.122352      1101.615500   5.715154\n",
       "6 2016-12-01        0.134831  2479.987711      1072.693548   6.584839\n",
       "7 2017-01-01        0.137833  2205.991649      1033.781585   5.653105\n",
       "8 2017-02-01        0.137244  2221.634546      1007.842939   6.059798\n",
       "9 2017-03-01        0.135541  2277.719752       977.654081   8.666667"
      ]
     },
     "execution_count": 149,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp_group1 = df_dup.pivot_table(index='month',values=['orderAmo','instalmentRate','用户购买商品总数量','用户最后一次购买时间距现在天数']\n",
    "                                  ,aggfunc={\n",
    "                                      'orderAmo':'mean',\n",
    "                                      'instalmentRate':'mean',\n",
    "                                      '用户购买商品总数量':'mean',\n",
    "                                      '用户最后一次购买时间距现在天数':'mean'\n",
    "                                      }\n",
    "                                  )\n",
    "temp_group1.reset_index(inplace=True)\n",
    "temp_group1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba3854b208>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lineplot(x='month',y='instalmentRate',data=temp_group1) # 均值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析： 可见利率逐步提升，到达0.13后稳定"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba36d26b00>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lineplot(x='month',y='orderAmo',data=temp_group1) # 均值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析：数据在1606之后出现急速下滑，在1609后有短暂冲量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba36db4da0>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lineplot(x='month',y='用户购买商品总数量',data=temp_group1) # 均值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析：用户购买商品数量成上升趋势"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "## 2 .用户个体消费分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [],
   "source": [
    "#### 用户消费金额，消费次数描述统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>orderAmo</th>\n",
       "      <th>instalmentRate</th>\n",
       "      <th>article.0.artCount</th>\n",
       "      <th>article.0.artPrice</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>userMobile</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>13001031231</th>\n",
       "      <td>69.0</td>\n",
       "      <td>0.030</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001101801</th>\n",
       "      <td>82581.0</td>\n",
       "      <td>2.400</td>\n",
       "      <td>18</td>\n",
       "      <td>82581.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001140007</th>\n",
       "      <td>4485.0</td>\n",
       "      <td>0.120</td>\n",
       "      <td>1</td>\n",
       "      <td>4485.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001352283</th>\n",
       "      <td>31677.0</td>\n",
       "      <td>0.912</td>\n",
       "      <td>8</td>\n",
       "      <td>31677.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001454260</th>\n",
       "      <td>69.0</td>\n",
       "      <td>0.030</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             orderAmo  instalmentRate  article.0.artCount  article.0.artPrice\n",
       "userMobile                                                                   \n",
       "13001031231      69.0           0.030                   1                69.0\n",
       "13001101801   82581.0           2.400                  18             82581.0\n",
       "13001140007    4485.0           0.120                   1              4485.0\n",
       "13001352283   31677.0           0.912                   8             31677.0\n",
       "13001454260      69.0           0.030                   1                69.0"
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>orderTime</th>\n",
       "      <th>orderCode</th>\n",
       "      <th>orderAmo</th>\n",
       "      <th>instalmentRate</th>\n",
       "      <th>idNum</th>\n",
       "      <th>article.0.artCount</th>\n",
       "      <th>article.0.artName</th>\n",
       "      <th>article.0.artPrice</th>\n",
       "      <th>month</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>userMobile</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>13001031231</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001101801</th>\n",
       "      <td>18</td>\n",
       "      <td>18</td>\n",
       "      <td>18</td>\n",
       "      <td>18</td>\n",
       "      <td>18</td>\n",
       "      <td>18</td>\n",
       "      <td>18</td>\n",
       "      <td>18</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001140007</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001352283</th>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001454260</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             orderTime  orderCode  orderAmo  instalmentRate  idNum  \\\n",
       "userMobile                                                           \n",
       "13001031231          1          1         1               1      1   \n",
       "13001101801         18         18        18              18     18   \n",
       "13001140007          1          1         1               1      1   \n",
       "13001352283          8          8         8               8      8   \n",
       "13001454260          1          1         1               1      1   \n",
       "\n",
       "             article.0.artCount  article.0.artName  article.0.artPrice  month  \n",
       "userMobile                                                                     \n",
       "13001031231                   1                  1                   1      1  \n",
       "13001101801                  18                 18                  18     18  \n",
       "13001140007                   1                  1                   1      1  \n",
       "13001352283                   8                  8                   8      8  \n",
       "13001454260                   1                  1                   1      1  "
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>userMobile</th>\n",
       "      <th>orderTime</th>\n",
       "      <th>orderCode</th>\n",
       "      <th>orderAmo</th>\n",
       "      <th>instalmentRate</th>\n",
       "      <th>idNum</th>\n",
       "      <th>month</th>\n",
       "      <th>用户购买商品总数量</th>\n",
       "      <th>用户购买商品总金额</th>\n",
       "      <th>用户下单次数</th>\n",
       "      <th>用户购买商品平均价格</th>\n",
       "      <th>用户性别</th>\n",
       "      <th>用户最后一次购买时间距现在天数</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13001031231</td>\n",
       "      <td>2016-09-18</td>\n",
       "      <td>311609181545532384917</td>\n",
       "      <td>69.0</td>\n",
       "      <td>0.030</td>\n",
       "      <td>362401198510210015</td>\n",
       "      <td>2016-09-01</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>1</td>\n",
       "      <td>69.000000</td>\n",
       "      <td>男</td>\n",
       "      <td>1157</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>13001101801</td>\n",
       "      <td>2017-02-15</td>\n",
       "      <td>3117021500120000010</td>\n",
       "      <td>5199.0</td>\n",
       "      <td>0.144</td>\n",
       "      <td>220722199212264218</td>\n",
       "      <td>2017-02-01</td>\n",
       "      <td>18</td>\n",
       "      <td>82581.0</td>\n",
       "      <td>18</td>\n",
       "      <td>4587.833333</td>\n",
       "      <td>男</td>\n",
       "      <td>1007</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>13001140007</td>\n",
       "      <td>2016-07-25</td>\n",
       "      <td>311607251723422383739</td>\n",
       "      <td>4485.0</td>\n",
       "      <td>0.120</td>\n",
       "      <td>14032119920418421X</td>\n",
       "      <td>2016-07-01</td>\n",
       "      <td>1</td>\n",
       "      <td>4485.0</td>\n",
       "      <td>1</td>\n",
       "      <td>4485.000000</td>\n",
       "      <td>男</td>\n",
       "      <td>1212</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>13001352283</td>\n",
       "      <td>2016-11-17</td>\n",
       "      <td>311611170231442380142</td>\n",
       "      <td>2800.0</td>\n",
       "      <td>0.144</td>\n",
       "      <td>372527198010293716</td>\n",
       "      <td>2016-11-01</td>\n",
       "      <td>8</td>\n",
       "      <td>31677.0</td>\n",
       "      <td>8</td>\n",
       "      <td>3959.625000</td>\n",
       "      <td>男</td>\n",
       "      <td>1097</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>13001454260</td>\n",
       "      <td>2016-08-27</td>\n",
       "      <td>3116082719125323816573</td>\n",
       "      <td>69.0</td>\n",
       "      <td>0.030</td>\n",
       "      <td>130582199103132033</td>\n",
       "      <td>2016-08-01</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>1</td>\n",
       "      <td>69.000000</td>\n",
       "      <td>男</td>\n",
       "      <td>1179</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    userMobile  orderTime               orderCode  orderAmo  instalmentRate  \\\n",
       "0  13001031231 2016-09-18   311609181545532384917      69.0           0.030   \n",
       "1  13001101801 2017-02-15     3117021500120000010    5199.0           0.144   \n",
       "2  13001140007 2016-07-25   311607251723422383739    4485.0           0.120   \n",
       "3  13001352283 2016-11-17   311611170231442380142    2800.0           0.144   \n",
       "4  13001454260 2016-08-27  3116082719125323816573      69.0           0.030   \n",
       "\n",
       "                idNum      month  用户购买商品总数量  用户购买商品总金额  用户下单次数   用户购买商品平均价格  \\\n",
       "0  362401198510210015 2016-09-01          1       69.0       1    69.000000   \n",
       "1  220722199212264218 2017-02-01         18    82581.0      18  4587.833333   \n",
       "2  14032119920418421X 2016-07-01          1     4485.0       1  4485.000000   \n",
       "3  372527198010293716 2016-11-01          8    31677.0       8  3959.625000   \n",
       "4  130582199103132033 2016-08-01          1       69.0       1    69.000000   \n",
       "\n",
       "  用户性别  用户最后一次购买时间距现在天数  \n",
       "0    男             1157  \n",
       "1    男             1007  \n",
       "2    男             1212  \n",
       "3    男             1097  \n",
       "4    男             1179  "
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp_group2 = df.groupby('userMobile')\n",
    "temp_group2_sum = temp_group2.sum()\n",
    "temp_group2_cnt = temp_group2.count()\n",
    "temp_group2_sum.head()\n",
    "temp_group2_cnt.head()\n",
    "df_dup.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba53ff3550>"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAERCAYAAACdPxtnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAWH0lEQVR4nO3dfbRldX3f8fdnBkee0WEuDBTHEUfiA7F1vEUKRodqR1ApPpbUqkUbZ8XVGilpp1nL2FJS02Y0rqCJXWtiukhERYkRFsaFti7RiK06Y5SaCM2I0WHg4sBAeMiATObbP84euVzOnZnD3H32vXe/X2ux7t5nf+/vfA/i/Zz99NupKiRJ/bSk6wYkSd0xBCSpxwwBSeoxQ0CSeswQkKQeMwQkqccWZAgkuXA/245L8s4kr0nyjnH2JUkLzYILgSTnAxftp+StwCeq6hpgV5LTx9KYJC1ACy4Equo64M79lNwPnNcsHw/8TetNSdICdVjXDRyqJL8E7AKeWVXvBz4GfCbJeuCrVbW90wYlaR5bcHsC0yV5PvB3VfUnwFSSM4HnAH8CfB54W5JlXfYoSfPZQt8TeA6wPMk6YA+wF3gT8J+q6pEkJwHrgc9116IkzV8LPQR+ABxZVTckeTJwFHAvsG9WvB3A7q6ak6T5LgttFtEkFwAfAt5RVV9McglwV7P5E8BxwGuAu4HVwOW10D6kJI3JggsBSdLcWdAnhiVJh2ZBnRNYsWJFrV69uus2JGlB2bp1611VNTFs24IKgdWrV7Nly5au25CkBSXJj2bb5uEgSeoxQ0CSeswQkKQeMwQkqccMAUnqMUNAknrMEJCkHjMEJKnHFtTNYuO0ceNGpqamWLlyJZs2beq6HUlqhSEwi6mpKXbs2NF1G5LUqkURAi/8938052Mec9f9LAV+fNf9cz7+1ve/dU7Hk6QnynMCktRji2JPoA17lx31mJ+StBgZArN48Fnru25Bklrn4SBJ6jFDQJJ6zBCQpB4zBCSpx1oNgSQXHkTNc5O8t80+JEnDtRYCSc4HLjqI0tcAS9vqQ5I0u9ZCoKquA+7cX02StYBPjpekjnR9TuA04P913IMk9VZnIZDkbODPDqJuQ5ItSbbs3LlzDJ1JUn90uScwATwLOBNYnWTNsKKq2lxVk1U1OTExMdYGJWmxG8u0EUmWAsdX1U/2vVZV1zTbVgPPrqpt4+hFkvSoNq8OugA4J8l6YBL4wJCaIxhcHXRmklVt9SJJGq61PYGquha4dtpL3xhSsxv4neYfSdKYdX11kCSpQ4aAJPWYISBJPWYISFKPGQKS1GOGgCT1mCEgST1mCEhSjxkCktRjhoAk9ZghIEk9ZghIUo8ZApLUY4aAJPWYISBJPWYISFKPGQKS1GOGgCT1mCEgST3WaggkuXA/25YmeXuS1yZ5b5t9SJKGay0EkpwPXLSfkvXAvVX1WeDBJKe31YskabjWQqCqrgPu3E/JdmDPtPWH2upFkjTcYV29cVV9D/hes3oq8INhdUk2ABsAVq1aNZ7mJKknOj8x3Jw3+GBV1bDtVbW5qiaranJiYmLM3UnS4tZpCCQ5A9heVbd22Yck9dVYQqC5EuiEGa8dBaypqq8nOSLJi8fRiyTpUW1eHXQBcE6S9cAk8IEZJW8HXpvkKuArwK62epEkDdfaieGquha4dtpL35ix/cPAh9t6f0nSgXV+YliS1B1DQJJ6zBCQpB4zBCSpxwwBSeoxQ0CSeswQkKQeMwQkqccMAUnqMUNAknrMEJCkHjMEJKnHDAFJ6jFDQJJ6zBCQpB4zBCSpxwwBSeoxQ0CSeswQkKQeazUEklx4gO2XJnl3kje32YckabjWQiDJ+cBF+9m+FthdVZcD65Isa6sXSdJwrYVAVV0H3LmfkvOAG5vlbcAZbfUiSRquy3MCJwM7m+VdwEnDipJsSLIlyZadO3cOK5EkPUHz5cRwgBq2oao2V9VkVU1OTEyMuS1JWty6DIHbgRXN8nLgjg57kaReGksIJFma5IQZL18PnNUsrwG+OY5eJEmPavPqoAuAc5KsByaBD0zfXlVbgSOSXAzcUFWPtNWLJGm4w9oauKquBa6d9tI3htRc1tb7S5IObL6cGJYkdcAQkKQeMwQkqccMAUnqMUNAknrMEJCkHjMEJKnHRg6BJCsOXCVJWggO+maxJOcA/xT422bu/89X1Zdb60yS1LpR7hh+SlX9230rSV7dQj+SpDEaJQSOPMC6FpCNGzcyNTXFypUr2bRpU9ftSOrIKCFwU5LfAY4C7gM+3k5LGoepqSl27NjRdRuSOjZKCHwf+CCDB8AAPH3u29EwP77s5+d8zD27lgOHsWfXj+Z8/FX/8f/O6XiS2jNKCGwCvjNt/RnAV+e2HUnSOI0SAncDS4G9LfWiMVpx+F5gT/NTUl+NEgI/Bb40bf2Zc9yLxujfPf/erluQNA+MEgK/ABzNo3sCzwW8T0CSFrBRQuCiqtq1byXJ01roR5I0RgcdAlW1K8nzGDwc/kxgLfCCthqTJLVvvyGQ5DjgVxhcDroEuJnBuYF3A08+0OBJLgXuAe6uqiuHbF8F/BNgF3BEVX1ixP4lSYfgQBPIPQj8kMEJ4S8D3wZuqaoHGNwwNqska4HdVXU5sK6Zb2imtwD/o6o+C5yY5NhRP4Ak6YnbbwhU1Z6qurKqPllVH2OwJ3B0krcAVxxg7POAG5vlbcAZQ2qWAv+oWT6SwV6GJGlMRplF9ISqug24uln/4gF+5WRgZ7O8CzhpSM0HgC8k+T5wTVU9NOR9NwAbAFatWnWw7UqSDsIozxP4rSSH71upqjtH+N0ANeT1s4D3Ad+l+UM/U1VtrqrJqpqcmJgY4S0lSQcySgh8bvpKkhcdoP52YN8DaJYDdwypeUVVXV9Vvwf8IMnpI/QjSTpEo9wn8BLgTUm+y+Cb/c8Db9hP/fXAP2ZwXmAN8LtJlk+/1wCYftvqbcDjDgdJktozSgjcWFWf3reS5OX7K66qrUleleRi4AbgXODvA78+reyTzUnmB4EHqmrbCP1Ikg7RKDeLfTpJgKOq6oGq+l8H8TuXzXjp6hnbbwVuPdgeJElza5Srg94EvAi4NcmngLVV9fnWOpMktW6UE8OPVNW7ge9U1RRwXEs9SZLGZJQQODHJ04Elzc9TW+pJkjQmo5wY/gPgl4DnMLgD+EOtdCRJGptRTgzvBj68bz3JauD+uW9JkjQus4ZAkhMZPFj+Fgb3BTyDR6/kWQ4cBbyj7QYlSe2ZNQSq6s4k79p3c1eSN1bVzy7xTPLacTQoSWrPgWYRnX5372lJnpVkaZKTAad4kKQFbpQTw5czOPxzGvAj4L+30pEkaWxGCYF1wEeq6uGWepEkjdko9wlMMu2hL0lGCRBJ0jw0SgjcADxr2vpL57YVSdK4jfJt/peBO5Lcw6NTSX+pla4kSWMxSgh8BDicwXTQfwFc10pHkqSxGeVw0HOb+muAh4EXtNKRJGlsRtkT+Kuq2nf456+SvKyNhiRJ4zPKnsBpSZ6T5LAkpzJ4ZKQkaQEbJQQ+CryYwU1jrwCuaKMhSdL4jDKL6CPA748yeJJLgXuAu6vqyllq/hXwAPDCqto4yviSpEMzyp7ASJKsBXZX1eXAuiTLhtScBdxRVZ8C/rKtXiRJw7UWAsB5wI3N8jbgjCE1rwe+BVBVV7TYiyRpiDanfjgZ2Nks7wJOGlKzGnh1kuXAU6rqvS32I0maoc09gekC1JDXjwG+WVW/DVSSVY/7xWRDki1JtuzcufPxI0iSnrA2Q+B2YEWzvBy4Y0jNXcD2Znk7Q/YWqmpzVU1W1eTExEQrjUpSX7UZAtcDZzXLa4CbmsM+032VweykMAiMW5EkjU1rIVBVW4EjklzMYAbSc4FLZpT9IXBOktcBt1aVx3skaYxafSZAVV0246WrZ2zfDXgyWJI6Mq4Tw5KkecgQkKQeMwQkqccMAUnqMUNAknrMEJCkHjMEJKnHDAFJ6rFWbxaTurJx40ampqZYuXIlmzZt6rodad4yBLQoTU1NsWPHjq7bkOY9Q0CdOvvDZ7cy7rJ7l7GEJWy/d/ucv8eN77rxwEXSAmEIaFGqI4u97KWOHPYYC0n7GAJalB45+5GuW5AWBK8OkqQeMwQkqccMAUnqMUNAknrMEJCkHjMEJKnHWr1ENMmlwD3A3VV15X7qzgVWVtUVbfYjSXqs1vYEkqwFdlfV5cC6JMtmqQvwmrb6kCTNrs3DQecB++6v3wacMUvdeuCLLfYhSZpFmyFwMrCzWd4FnDSzIMlS4Ohm+1BJNiTZkmTLzp07ZyuTJD0B4zoxHGDYJC7nAdfv7xeranNVTVbV5MTERCvNSVJftRkCtwMrmuXlwB1Dao4G/iHwD4BnJzmlxX4kSTO0GQLXA2c1y2uAm5Isn15QVVdV1Q3Ad4Cbq+q2FvuRJM3QWghU1VbgiCQXAzcA5wKXzKxrguFc4JwkHu+RpDFq9T6BqrpsxktXD6nZBfxam31IkobzjmFJ6jFDQJJ6zBCQpB4zBCSpxwwBSeoxQ0CSeswQkKQeMwQkqccMAUnqsVbvGJY09zZu3MjU1BQrV65k06ZNXbejBc4QkFr0lZe8dM7H/OFhS9mVsPu221oZ/6Vf/cqcj6n5y8NBktRj7glIC8xTqh7zUzoUhoC0wLz57/Z23YIWEQ8HSVKPGQKS1GOGgCT1mCEgST1mCEhSj7V6dVCSS4F7gLur6soh248GLgTuA06uqsvb7EeS9Fit7QkkWQvsbv6wr0uybEjZW4A/r6qrgdVJjm2rH0nS47V5OOg84MZmeRtwxpCam4EnN8sF/LTFfiRJM7R5OOhkYGezvAs4aWZBVX0ZIMmTm/WHZtYk2QBsAFi1alVbvUpSL43rxHAYfNOfzUXAfxm2oao2V9VkVU1OTEy00Zsk9VabIXA7sKJZXg7cMawoybnAV6pqV4u9SJKGaDMErgfOapbXADclWT69IMkpwJKqujnJM5KsabEfSdIMrYVAVW0FjkhyMXADcC5wyYyydwJvTXIVcB2DvQdJ0pi0ep9AVV0246WrZ2x/T5vvL0naP6eSljSv+PjM8TIEJM0rU1NT7Nixo+s2esMQkPSE/e6vXjfnY95714M/+9nG+P/mt8+f8zEXMkNA0rxy1LJjH/NT7TIEJM0rZz/zdV230CtOJS1JPWYISFKPGQKS1GOGgCT1mCEgST3m1UGSNEbz7Y5oQ0CSxmi+3RFtCEjSLN735jfM+Zi7fvI3g59Td8z5+O+58o9H/h1DQJLG6PClSx7zs2uGgCSN0QuOP6brFh5jfkSRJKkThoAk9ZghIEk9ZghIUo+1emI4yaXAPcDdVXXlkO1Lgf8G/AS4qaq+0GY/kqTHam1PIMlaYHdVXQ6sS7JsSNkFwJaqej/wL9rqRZI0XJuHg84DbmyWtwFnHKDmb5Oc0mI/kqQZUlXtDJz8HvChqrolyQbgnqq6ekbNnwKvq6qHk/wm8Nmq+taMmg3Ahmb154BbWml4uBXAXWN8v3Hz8y1ci/mzgZ9vrj29qiaGbRjXzWIBDpQ2Q2uqajOwuY2mDiTJlqqa7OK9x8HPt3At5s8Gfr5xavNw0O0M0g5gOXDHE6yRJLWkzRC4HjirWV4D3JRk+X5qjqiq+TO1niT1QGshUFVbgSOSXAzcAJwLXDKj7BpgMsl/AD7eVi+HoJPDUGPk51u4FvNnAz/f2LR2YliSNP95x7Ak9ZghIEk95vME9iPJhVX1qa77mGvNdB3/ksGUHqdX1W903NKcSvJU4PXAw8DSqrqi247mXpLnAq9fhP/brQY+yqPX0G+oqvs6a6gFSX6RweXwL6mqf911P+4JzCLJ+cBFXffRkvXAvVX1WeDBJKd33dAcewmDz/cxYF3HvbTlNcDSrptoyaVV9YvNP4stAE4Bjmu+XH4zSbruyRCYRVVdB9zZdR8t2Q7smbb+UFeNtKGqrgU+06z+tMte2tDMy7Wl6z70hLwW+DZAVf1hzYMrczwc1ENV9T3ge83qqcAPOmynLUc3U5F85oCVC89pwP/h0XtsFpv1Sc4Ajq+q93TdzBxbDSxL8gvA04GLuw4C9wR6LMmFwAe7/o+wDVV1f1W9C3h1khO67meuJDkb+LOu+2jRT4CPVtUHgT3NOYLF5Bjg5ubz3QS8uON+DIG+ar5pba+qW7vuZa4leWqSY5vV7wEv7bKfOTYBPAs4E1idZE3H/cy1ZcC+8wC3ASd22Esb7mJwOBbgx8DJHfYCGAK9lOQoYE1VfT3JEUk6/zYyx94KvLJZXgksmqCrqmuq6gYGh4P+uqq2ddzSXLuIwYl9GPyB/GF3rbTiq8C+ieNWMt5ZkYcyBGaR5ALgnCTru+6lBW8HXpvkKuArwK6O+5lrVwETSd7IYArzrV03NJeSHMHg6qAzk6zqup859kngxCSvB+6sqp903dAc+yLwtObzPamqvtN1Q04bIUk95p6AJPWYISBJPWYISFKPGQKS1GOGgAQkWdbSuIcf6nsnOXXfHDNJjpur3iQwBLSIJXlxkhOTrE3y6iT/PMlvNpdYznR+kgM++DsDxyd5bpKXJ7kwyWEzal44bfVtB9HqL8/yXiuaEHkl8PokJwLvOIjxpIPm3EFazJ7P4A7UpcDuqvpckqVVtXtfQZKTGNwn8Vngxc0f3dOrakuzPcAbgCcxmIzuGQymNtgK/AWD+xD2TBtvBXBXklcCDwLbk7y5qq6cVrOGwSyndzXjPzhL/7sY/NG/l8HUw/cBdx/qvxRpOkNAi9kDDKaNOAtYm+TvAXtn1BwF/AqPTqK3isGkelsAmnmVrt5XnOQFwJ5mEr5hJoFTgOOa978BOHt6QVVtS/Kfk1wGvAy4O8mrGEwH8f2q+kJTegFwAvBy4ArgnwHHJHk7cF9V/fFB/5uQZuHhIC1mTwKOZ/BN+8tV9UdDapYC11TVR5t/ruTRuV2GWQIcmWR9M/3GTLsZ7Cksad77FIZP1f0bDCYPOxV4KvB14HYGd5Tu8zUG88tcBzyz+TwfA55qAGiuuCegxewR4FgGh4Ummj2BmSYYTA/yPAaHXJYw+MM7m6UMDs98G7gkyY1V9bVp2w8HntYsF4MguH/IOM9n8Mf/KuCdzZj/c9+MrklWAs8Gvg/czOD5D+sY7NUsqmkw1C1DQIvZEmAbg+PoK6vqa0nePKPmVOC/Tj+ufxBj7q2qR4DfSnLMjO1fB/43g3njT2TwYKKTkryNwbw4VNVDwGRVbW4ehXkqcGJVTU0b5x7g54AXNWOurqpfT/JxYOZnkJ4wQ0CLUvPN/ltVdfeQP9TTPWmEAIDBnsDPzitU1f3N+y0B3sjg2/8eBiGwncG5hm8C91fVniTHJvk14BvNEK8AfhU4F/j0tHEfTrIZWAE8D3hfc0L5z4G1uDegOWIIaLFa0zxmEgYnaSvJs4GfXR6aZB3wpRHHPZLHn1ymqvYCn5o29lnAzpnPa6iq+5J8hMEVRKcxmCnzviRfS/KqqvrTabWV5LsM/n/6MuCwqvpAkvcnuaWqHhixd+lxPDGsRac5nj79OP1fMjgstJ3BJZ77ah6qqr8ecfh7OLhnMh8GPDxsQzM98guBk6rqy81rtzM4bPSOJCckWdJcZvrjqrqmGWvfyeBbgK83TxmTDolTSauXkqTLx2oe6P2THMkgpPY2dxQ/5v4Gaa4YApLUYx4OkqQeMwQkqccMAUnqMUNAknrMEJCkHvv/YmTUp5UwEPAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 每笔订单消费金额与消费商品数的直方图 \n",
    "# y轴为消费金额平均值\n",
    "sns.barplot(x='用户下单次数',y='orderAmo',data=df_dup_a,estimator=np.sum)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba475e5fd0>"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.barplot(x='用户下单次数',y='orderAmo',data=df_dup_a,estimator=np.mean) ## 平均"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 用户消费金额的分布图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba47519390>"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(df_dup_a['orderAmo'],label='用户消费金额的分布图')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba430b86d8>"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba430b86d8>"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '消费金额累计百分比')"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba54045e10>"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba54045e10>"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '消费商品数累计百分比')"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x576 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "### 用户累计消费金额占比\n",
    "\n",
    "#按ID分组,并求和,再对订单金额进行排序(默认从小到大),最后通过匿名函数对每一行进行累计求和占比\n",
    "user_cumsum=df_dup[['orderAmo','用户购买商品总数量']].sort_values('orderAmo').apply(lambda x: x.cumsum()/x.sum())\n",
    "plt.subplot(211)\n",
    "user_cumsum.reset_index().orderAmo.plot(figsize=(8,8))\n",
    "plt.title('消费金额累计百分比')\n",
    "plt.subplot(212)\n",
    "user_cumsum.reset_index()['用户购买商品总数量'].plot()\n",
    "plt.title('消费商品数累计百分比')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. 用户消费行为分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 第一次购买时间分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba502d8e10>"
      ]
     },
     "execution_count": 129,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 计算第一次购买时间分布\n",
    "df['month'].groupby(df['userMobile']).min().value_counts().plot(figsize=(12,5))\n",
    "#等同于grouped_user.min().order_dt.value_counts().plot(figsize=(12,5))\n",
    "# 6月发生较大下跌  渠道发生变化，或者其他  可以做一些假设"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 最后一次购买时间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "### 最后一次购买时间\n",
    "df['month'].groupby(df['userMobile']).max().value_counts().plot(figsize=(12,5))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "大部分最后一次购买在前三个月，说明很多用户购买一次后就不再进行购买\n",
    "随着时间递增，最后一次购买数在递增，消费呈线性流失上升的情况"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 新老客户消费比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {},
   "outputs": [],
   "source": [
    "#### a.多少用户只消费一次"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>userMobile</th>\n",
       "      <th>orderTime</th>\n",
       "      <th>orderCode</th>\n",
       "      <th>orderAmo</th>\n",
       "      <th>instalmentRate</th>\n",
       "      <th>idNum</th>\n",
       "      <th>month</th>\n",
       "      <th>用户购买商品总数量</th>\n",
       "      <th>用户购买商品总金额</th>\n",
       "      <th>用户下单次数</th>\n",
       "      <th>用户购买商品平均价格</th>\n",
       "      <th>用户性别</th>\n",
       "      <th>用户最后一次购买时间距现在天数</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13001031231</td>\n",
       "      <td>2016-09-18</td>\n",
       "      <td>311609181545532384917</td>\n",
       "      <td>69.0</td>\n",
       "      <td>0.03</td>\n",
       "      <td>362401198510210015</td>\n",
       "      <td>2016-09-01</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>男</td>\n",
       "      <td>1157</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>13001140007</td>\n",
       "      <td>2016-07-25</td>\n",
       "      <td>311607251723422383739</td>\n",
       "      <td>4485.0</td>\n",
       "      <td>0.12</td>\n",
       "      <td>14032119920418421X</td>\n",
       "      <td>2016-07-01</td>\n",
       "      <td>1</td>\n",
       "      <td>4485.0</td>\n",
       "      <td>1</td>\n",
       "      <td>4485.0</td>\n",
       "      <td>男</td>\n",
       "      <td>1212</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>13001454260</td>\n",
       "      <td>2016-08-27</td>\n",
       "      <td>3116082719125323816573</td>\n",
       "      <td>69.0</td>\n",
       "      <td>0.03</td>\n",
       "      <td>130582199103132033</td>\n",
       "      <td>2016-08-01</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>男</td>\n",
       "      <td>1179</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>13001517860</td>\n",
       "      <td>2016-08-27</td>\n",
       "      <td>3116082719474423818936</td>\n",
       "      <td>69.0</td>\n",
       "      <td>0.03</td>\n",
       "      <td>370304198906042250</td>\n",
       "      <td>2016-08-01</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>男</td>\n",
       "      <td>1179</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>13001645455</td>\n",
       "      <td>2016-08-27</td>\n",
       "      <td>3116082722283123830172</td>\n",
       "      <td>69.0</td>\n",
       "      <td>0.03</td>\n",
       "      <td>230122199602101018</td>\n",
       "      <td>2016-08-01</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>男</td>\n",
       "      <td>1179</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     userMobile  orderTime               orderCode  orderAmo  instalmentRate  \\\n",
       "0   13001031231 2016-09-18   311609181545532384917      69.0            0.03   \n",
       "2   13001140007 2016-07-25   311607251723422383739    4485.0            0.12   \n",
       "4   13001454260 2016-08-27  3116082719125323816573      69.0            0.03   \n",
       "5   13001517860 2016-08-27  3116082719474423818936      69.0            0.03   \n",
       "10  13001645455 2016-08-27  3116082722283123830172      69.0            0.03   \n",
       "\n",
       "                 idNum      month  用户购买商品总数量  用户购买商品总金额  用户下单次数  用户购买商品平均价格  \\\n",
       "0   362401198510210015 2016-09-01          1       69.0       1        69.0   \n",
       "2   14032119920418421X 2016-07-01          1     4485.0       1      4485.0   \n",
       "4   130582199103132033 2016-08-01          1       69.0       1        69.0   \n",
       "5   370304198906042250 2016-08-01          1       69.0       1        69.0   \n",
       "10  230122199602101018 2016-08-01          1       69.0       1        69.0   \n",
       "\n",
       "   用户性别  用户最后一次购买时间距现在天数  \n",
       "0     男             1157  \n",
       "2     男             1212  \n",
       "4     男             1179  \n",
       "5     男             1179  \n",
       "10    男             1179  "
      ]
     },
     "execution_count": 140,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_dup.query('用户下单次数==1').head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.4317511058767447"
      ]
     },
     "execution_count": 143,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 计算只消费了一次的用户人数(结果为:61588)\n",
    "one_consumed=df_dup.query('用户下单次数==1').shape[0]\n",
    "# 计算总的消费人数(结果为:142647)\n",
    "all_consumed=df_dup.shape[0]\n",
    "#计算多少用户只消费一次\n",
    "one_consumed/all_consumed"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可见，对于该产品，将近一半的用户值消费一次就流失掉了"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [],
   "source": [
    "#### b.计算每月新客占比并作出其百分比折线图："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 169,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba3a0e4fd0>"
      ]
     },
     "execution_count": 169,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 按月份和用户ID分组\n",
    "grouped_month_user=df_dup.groupby('month')['userMobile'].count().reset_index().rename(columns={'userMobile':'total'})\n",
    "grouped_month_one_user=df_dup[df_dup['用户下单次数'] == 1].groupby('month')['userMobile'].count().reset_index().rename(columns={'userMobile':'one_user'})\n",
    "# grouped_month_one_user\n",
    "temp_group3 = pd.merge(grouped_month_user,grouped_month_one_user,how='left',on='month')\n",
    "temp_group3['新客占比'] = temp_group3['one_user'] /temp_group3['total']\n",
    "sns.lineplot(x='month',y='新客占比',data=temp_group3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "记录初始，新客居多，随着复购用户到来，逐步下降"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 用户分层"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## RFM模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "删除样本数： 2477\n"
     ]
    }
   ],
   "source": [
    "f_P = r'E:\\工作文档\\工作任务\\20191116用户分析\\analysis.OrderCheckCol.csv'\n",
    "with open(f_P,encoding='utf-8') as f:\n",
    "    df = pd.read_csv(f)\n",
    "df.userMobile = df.userMobile.apply(get_sha256)\n",
    "df['orderTime'] = pd.to_datetime(df['orderTime'])\n",
    "df = df.sort_values(by=['userMobile','orderTime'],ascending=True)\n",
    "df['month'] = df['orderTime'].astype('datetime64[M]')\n",
    "\n",
    "drop_idx_list = value_out_idx(df,['orderAmo','article.0.artCount','article.0.artPrice'])\n",
    "df = df[~df.index.isin(drop_idx_list)]\n",
    "print(\"删除样本数：\",len(drop_idx_list))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>order_products</th>\n",
       "      <th>order_amount</th>\n",
       "      <th>order_dt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>userMobile</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db920e3a69a262e58cd</th>\n",
       "      <td>5</td>\n",
       "      <td>5040.0</td>\n",
       "      <td>2016-11-03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d708288badb22ab1d46</th>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>2016-09-17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0000805ecf5800b3267df411dda74e632200d9b53578595fe3d1cf47949d8a44</th>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>2016-08-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f21330f7e3ca42e6916</th>\n",
       "      <td>3</td>\n",
       "      <td>1308.0</td>\n",
       "      <td>2016-09-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>00026c7234c746561ecb358fb8d673413d1fca52adc121704bc530d27dd4d804</th>\n",
       "      <td>2</td>\n",
       "      <td>4498.0</td>\n",
       "      <td>2016-10-05</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                    order_products  \\\n",
       "userMobile                                                           \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db...               5   \n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d7...               1   \n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595...               1   \n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f2...               3   \n",
       "00026c7234c746561ecb358fb8d673413d1fca52adc1217...               2   \n",
       "\n",
       "                                                    order_amount   order_dt  \n",
       "userMobile                                                                   \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db...        5040.0 2016-11-03  \n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d7...          69.0 2016-09-17  \n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595...          69.0 2016-08-27  \n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f2...        1308.0 2016-09-27  \n",
       "00026c7234c746561ecb358fb8d673413d1fca52adc1217...        4498.0 2016-10-05  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#  RFM  \n",
    "rfm = df.pivot_table(index = 'userMobile',\n",
    "                     values = ['article.0.artCount','orderAmo','orderTime'],\n",
    "                     aggfunc = {'orderTime':'max',\n",
    "                                'orderAmo':'sum',\n",
    "                                'article.0.artCount':'sum'})\n",
    "rfm.columns = ['order_products','order_amount','order_dt']\n",
    "rfm.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 解释：\n",
    "    R：消费最后一次消费时间的度量，数值越小越好\n",
    "    F：消费的总商品数，数值越大越好\n",
    "    M：消费的总金额，数值越大越好"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>F</th>\n",
       "      <th>M</th>\n",
       "      <th>order_dt</th>\n",
       "      <th>R</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>userMobile</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db920e3a69a262e58cd</th>\n",
       "      <td>5</td>\n",
       "      <td>5040.0</td>\n",
       "      <td>2016-11-03</td>\n",
       "      <td>145.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d708288badb22ab1d46</th>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>2016-09-17</td>\n",
       "      <td>192.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0000805ecf5800b3267df411dda74e632200d9b53578595fe3d1cf47949d8a44</th>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>2016-08-27</td>\n",
       "      <td>213.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f21330f7e3ca42e6916</th>\n",
       "      <td>3</td>\n",
       "      <td>1308.0</td>\n",
       "      <td>2016-09-27</td>\n",
       "      <td>182.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>00026c7234c746561ecb358fb8d673413d1fca52adc121704bc530d27dd4d804</th>\n",
       "      <td>2</td>\n",
       "      <td>4498.0</td>\n",
       "      <td>2016-10-05</td>\n",
       "      <td>174.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                    F       M   order_dt  \\\n",
       "userMobile                                                                 \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db...  5  5040.0 2016-11-03   \n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d7...  1    69.0 2016-09-17   \n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595...  1    69.0 2016-08-27   \n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f2...  3  1308.0 2016-09-27   \n",
       "00026c7234c746561ecb358fb8d673413d1fca52adc1217...  2  4498.0 2016-10-05   \n",
       "\n",
       "                                                        R  \n",
       "userMobile                                                 \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db...  145.0  \n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d7...  192.0  \n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595...  213.0  \n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f2...  182.0  \n",
       "00026c7234c746561ecb358fb8d673413d1fca52adc1217...  174.0  "
      ]
     },
     "execution_count": 164,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# R\n",
    "# 计算每位用户最后一次消费时间与全部用户最后一次消费时间的差值\n",
    "\n",
    "rfm['R']=-(rfm.order_dt-rfm.order_dt.max())/np.timedelta64(1,'D')\n",
    "rfm.rename(columns={'order_products':'F','order_amount':'M'},inplace=True)\n",
    "rfm.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 165,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>R</th>\n",
       "      <th>F</th>\n",
       "      <th>M</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>userMobile</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db920e3a69a262e58cd</th>\n",
       "      <td>-46.3406</td>\n",
       "      <td>1.582584</td>\n",
       "      <td>-4655.620593</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d708288badb22ab1d46</th>\n",
       "      <td>0.6594</td>\n",
       "      <td>-2.417416</td>\n",
       "      <td>-9626.620593</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0000805ecf5800b3267df411dda74e632200d9b53578595fe3d1cf47949d8a44</th>\n",
       "      <td>21.6594</td>\n",
       "      <td>-2.417416</td>\n",
       "      <td>-9626.620593</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f21330f7e3ca42e6916</th>\n",
       "      <td>-9.3406</td>\n",
       "      <td>-0.417416</td>\n",
       "      <td>-8387.620593</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>00026c7234c746561ecb358fb8d673413d1fca52adc121704bc530d27dd4d804</th>\n",
       "      <td>-17.3406</td>\n",
       "      <td>-1.417416</td>\n",
       "      <td>-5197.620593</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                          R         F  \\\n",
       "userMobile                                                              \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db... -46.3406  1.582584   \n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d7...   0.6594 -2.417416   \n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595...  21.6594 -2.417416   \n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f2...  -9.3406 -0.417416   \n",
       "00026c7234c746561ecb358fb8d673413d1fca52adc1217... -17.3406 -1.417416   \n",
       "\n",
       "                                                              M  \n",
       "userMobile                                                       \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db... -4655.620593  \n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d7... -9626.620593  \n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595... -9626.620593  \n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f2... -8387.620593  \n",
       "00026c7234c746561ecb358fb8d673413d1fca52adc1217... -5197.620593  "
      ]
     },
     "execution_count": 165,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "del rfm['order_dt']\n",
    "#应用匿名函数,判断每一行值与平均值大小关系\n",
    "rfm[['R','F','M']].apply(lambda x:x-x.mean()).head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 客户层次的定义,RFM得分可根据业务定义打分,也可以通过K-means聚类模型,得出不同相似程度的数据集,并且根据每一个数据集的特点进行客户定义\n",
    "# 111，R>0,是距离平均消费时间要久，R越大 说明没有消费时间越久  ，F >0 M>0,消费次数和金额也是较高的，重要价值客户，依次类推\n",
    "# x - x.mean() （具体真实情况可以修改，不一定需要用均值）   切比雪夫也可以 > 200 极值人工处理掉\n",
    "def rfm_func(x):\n",
    "    level = x.apply(lambda x:'1' if x>= 0 else '0')\\\n",
    "     # 字符串拼接\n",
    "    label = level.R + level.F + level.M\n",
    "    d = {\n",
    "        '111':'重要价值客户', \n",
    "        '011':'重要保持客户',\n",
    "        '101':'重要挽留客户',\n",
    "        '001':'重要发展客户',\n",
    "        '110':'一般价值客户',\n",
    "        '010':'一般保持客户',\n",
    "        '100':'一般挽留客户',\n",
    "        '000':'一般发展客户'\n",
    "    }\n",
    "    result = d[label]\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {
    "jupyter": {
     "source_hidden": true
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>F</th>\n",
       "      <th>M</th>\n",
       "      <th>R</th>\n",
       "      <th>label</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>userMobile</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db920e3a69a262e58cd</th>\n",
       "      <td>5</td>\n",
       "      <td>5040.0</td>\n",
       "      <td>145.0</td>\n",
       "      <td>一般保持客户</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d708288badb22ab1d46</th>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>192.0</td>\n",
       "      <td>一般挽留客户</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0000805ecf5800b3267df411dda74e632200d9b53578595fe3d1cf47949d8a44</th>\n",
       "      <td>1</td>\n",
       "      <td>69.0</td>\n",
       "      <td>213.0</td>\n",
       "      <td>一般挽留客户</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f21330f7e3ca42e6916</th>\n",
       "      <td>3</td>\n",
       "      <td>1308.0</td>\n",
       "      <td>182.0</td>\n",
       "      <td>一般发展客户</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>00026c7234c746561ecb358fb8d673413d1fca52adc121704bc530d27dd4d804</th>\n",
       "      <td>2</td>\n",
       "      <td>4498.0</td>\n",
       "      <td>174.0</td>\n",
       "      <td>一般发展客户</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                    F       M      R   label\n",
       "userMobile                                                                  \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db...  5  5040.0  145.0  一般保持客户\n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d7...  1    69.0  192.0  一般挽留客户\n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595...  1    69.0  213.0  一般挽留客户\n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f2...  3  1308.0  182.0  一般发展客户\n",
       "00026c7234c746561ecb358fb8d673413d1fca52adc1217...  2  4498.0  174.0  一般发展客户"
      ]
     },
     "execution_count": 167,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfm['label'] = rfm[['R','F','M']].apply(lambda x:x-x.mean()).apply(rfm_func,axis=1)\n",
    "rfm.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 168,
   "metadata": {
    "jupyter": {
     "source_hidden": true
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>F</th>\n",
       "      <th>M</th>\n",
       "      <th>R</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>label</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>一般价值客户</th>\n",
       "      <td>10343</td>\n",
       "      <td>1.093558e+07</td>\n",
       "      <td>470216.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一般保持客户</th>\n",
       "      <td>24145</td>\n",
       "      <td>2.209957e+07</td>\n",
       "      <td>586668.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一般发展客户</th>\n",
       "      <td>41714</td>\n",
       "      <td>7.732071e+07</td>\n",
       "      <td>3960465.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一般挽留客户</th>\n",
       "      <td>69907</td>\n",
       "      <td>1.477033e+08</td>\n",
       "      <td>11411523.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要价值客户</th>\n",
       "      <td>63881</td>\n",
       "      <td>2.163924e+08</td>\n",
       "      <td>2268999.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要保持客户</th>\n",
       "      <td>183152</td>\n",
       "      <td>5.892182e+08</td>\n",
       "      <td>2733673.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要发展客户</th>\n",
       "      <td>11559</td>\n",
       "      <td>5.481215e+07</td>\n",
       "      <td>679109.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要挽留客户</th>\n",
       "      <td>16205</td>\n",
       "      <td>7.567929e+07</td>\n",
       "      <td>1455812.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             F             M           R\n",
       "label                                   \n",
       "一般价值客户   10343  1.093558e+07    470216.0\n",
       "一般保持客户   24145  2.209957e+07    586668.0\n",
       "一般发展客户   41714  7.732071e+07   3960465.0\n",
       "一般挽留客户   69907  1.477033e+08  11411523.0\n",
       "重要价值客户   63881  2.163924e+08   2268999.0\n",
       "重要保持客户  183152  5.892182e+08   2733673.0\n",
       "重要发展客户   11559  5.481215e+07    679109.0\n",
       "重要挽留客户   16205  7.567929e+07   1455812.0"
      ]
     },
     "execution_count": 168,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 计算每层客户R、F、M的和\n",
    "rfm.groupby('label').sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析：可以看出，重要保持客户对于消费总金额的占比远大于其他客户的占比，这说明绝大部分收益是由重要保持客户贡献的，只要能保证这部分客户不流失和增加，那么公司收益将得到有力保障"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 169,
   "metadata": {
    "jupyter": {
     "source_hidden": true
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>F</th>\n",
       "      <th>M</th>\n",
       "      <th>R</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>label</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>一般价值客户</th>\n",
       "      <td>2143</td>\n",
       "      <td>2143</td>\n",
       "      <td>2143</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一般保持客户</th>\n",
       "      <td>4260</td>\n",
       "      <td>4260</td>\n",
       "      <td>4260</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一般发展客户</th>\n",
       "      <td>25895</td>\n",
       "      <td>25895</td>\n",
       "      <td>25895</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一般挽留客户</th>\n",
       "      <td>50202</td>\n",
       "      <td>50202</td>\n",
       "      <td>50202</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要价值客户</th>\n",
       "      <td>10129</td>\n",
       "      <td>10129</td>\n",
       "      <td>10129</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要保持客户</th>\n",
       "      <td>20045</td>\n",
       "      <td>20045</td>\n",
       "      <td>20045</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要发展客户</th>\n",
       "      <td>4319</td>\n",
       "      <td>4319</td>\n",
       "      <td>4319</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要挽留客户</th>\n",
       "      <td>6172</td>\n",
       "      <td>6172</td>\n",
       "      <td>6172</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            F      M      R\n",
       "label                      \n",
       "一般价值客户   2143   2143   2143\n",
       "一般保持客户   4260   4260   4260\n",
       "一般发展客户  25895  25895  25895\n",
       "一般挽留客户  50202  50202  50202\n",
       "重要价值客户  10129  10129  10129\n",
       "重要保持客户  20045  20045  20045\n",
       "重要发展客户   4319   4319   4319\n",
       "重要挽留客户   6172   6172   6172"
      ]
     },
     "execution_count": 169,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 人数\n",
    "rfm.groupby('label').count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 170,
   "metadata": {
    "jupyter": {
     "source_hidden": true
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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c/niyKUTETk1GsURkYoQFeIisB5YH2eirwDL8LvqfBS4EEj191z7Jp9TPxwZpfKYmVl68mbX/WZPse8G/h++zP9LNpcvi9vTioj0h1bsRaTixZloCvARfMn/MDDpeMc6cL9439/ux+y4x0h16Wp7/t+7jq5rwpf5n2dz+ebQmUREBkLFXkQSJc5EaeA9+JL/EeA8eq3mHxx/xuYNF9y0IFA8KQ8dwBPAg8BDwHPXr12tERsRqXgq9iKSaHEmasDP5q8CVm2a94n922ev1nx99XkJX+IfAh69fu3q1sB5RESGnIq9iFSVtb/7QEN3zaiLgYvw22peANSGTSVDrAV4Gr+//JPAk9evXb0nbCQRkeGnYi8iVe32NetG4y++7Sn7K4EJQUPJqegEXqBXiQc2Xb92tX64iUjVUbEXEenl9jXrDJgHLO3zNhewgNHEe413lvjnrl+7uj1sJBGR8qBiLyLSD7evWTcWWMLbRX9J6a0hZK4EOwq8CmwCXsaX+KeuX7t6X9BUIiJlTMVeRGQQbl+zbjbvXt1fiO4T0h+dwFZ8ed8EbO7153aN04iInBoVexGRIXb7mnUpYAYwu8/b6b0eT+cUbqpVwYr4u7f2Lu09f269fu3q7oDZREQSRcVeRCSA29esqwVm8u7y3/M2FRhXeiunXXuKwD5gb+ntzV6Pj/n+9WtXd4SJKiJSXVTsRUTK3O1r1tXzdskff5zHx3o/DTh8GXd9HheBbqD9JG/NvLO0N+tmTiIi5UnFXkREREQkAaphvlNEREREJPFU7EVEREREEkDFXkREREQkAVTsRUREREQSQMVeRERERCQBVOxFRERERBJAxV5EREREJAFU7EVEREREEkDFXkREREQkAVTsRUREREQSQMVeRERERCQBVOxFRERERBJAxV5EREREJAFU7EVEREREEkDFXkREREQkAVTsRUREREQSQMVeRERERCQBVOxFRERERBJAxV5EREREJAFU7EVEREREEkDFXkREREQkAVTsRUREREQSQMVeRERERCQBVOxFRERERBJAxV5EREREJAFU7EVEREREEkDFXkREREQkAVTsRUREREQSQMVeRERERCQBVOxFRERERBJAxV5EREREJAFU7EVEREREEkDFXkREREQkAVTsRUREREQSQMVeRERERCQBVOxFRERERBJAxV5EREREJAFU7EVEREREEkDFXkREREQkAVTsRUREREQSQMVeRERERCQBVOxFRERERBJAxV5EREREJAFU7EVEREREEkDFXkREREQkAVTsRUREREQSQMVeRESOycxGD/Lza0t/Wj+PHzeY5+tzrrqhOpeISKVQsRcRkbeY2RQzu8zMvgr8oZmN6vV3tWY23symm1nGzC4ys8vN7LNmdvYxTndD6c/fNLO5J3jOm0oPV5rZ4pPke6+ZrSg9Tp/g0I+Z2fITnUtEJGnMORc6g4iIlAEzWwa0AxmgCegAzgDGOufuNrOzgJVANzCq9PHvmVmDc25/n3PNBTLOuQfM7MvAS865x47xnB8BuoBxpXNvB1qBzc65R3sddxOwG7DSc7cBHwBudM419TpuBtAMdAIXAU8B5zjnNgzy2yMiUvZqQgcQEZHwzOwaYCpwEDgbeAZ4GV+mnwVwzm0rFfEaoBGYZGafBuYC3+p1LgNuds59vrS6/gAw2cwWOec29jruTOBy4EZgPjAaeBE4u0+pnwVsBbYBEbABmAN8q3epLxkLfBV4rfT+GaV8KvYikngq9iIignPuR2Z2C75ojy19+Ayg6Jx7vNehh4H1+CI+D1+4D/Y53VXABjObhC/iLwBTgKvM7HUgj//NwErgCedca+kFw2vAAmB8n2w7zGw98HFgD/Ah4F+dc68c40tJAz9zzj3Z8wEzu+4UvhUiIhVLxV5ERHpsxK+urwRex4/FnNHnmKnAKuBK4C78aMzTPX9pZpOBx4D3A7OAXcAi4Dzgr/AvFDrNbKJz7l4zu7r0qR34675240dt+poO3AvcDDzvnHvuOF/DVGBVaVbflc75Rj+/fhGRiqZiLyIiPaYDVwOT8WW4DbgbwMxS+Jn1bfiRmSNAA7AYWGpmNcAdzrl9peNxzr1kZovwRf9c51x7zxM551pKD3t2zCmWHk84TrYtwDXAWmBsaW7/nl7n6TEXP6LTNaDvgIhIBVOxFxGRHg8DtwCX4VfQR+NLOc65opltBPbjR22+hB+Juds5t/sY5+rZdS3tnGs7wY6XPX8xCfgcfpX91rf+0m+ZeTH+4tqx+BcXdcAM/GjPWHzB31v6lFqVehGpVir2IiLSoxW4Fl+aHwOeAA6ZWY1zrqvnQlUzKwC/j5+bf+g456opzdjv7Hn/OMf1vAB4Az9D3wR8zsx65ve7nXPrSs97TelagLHA5c65f+p9IjN7P/7FiYhIVVKxFxERzOxCYCl+m8hW/M44C4Ex+B1lHjezemA5fmTnPvz8/JfMrNk5d2efU+4DFvTa4rLvyEyPtJl9Bj/+swq/leZh/Gz/HufcoV7HXmJmny/lu6NP/ulAm3Nu26l+7SIiSaF97EVEpF9Ke9Nvd8519Pn4WOfckQGeM+WcK/bz2OnHGfvBzMzpB5qIVDkVexERERGRBEid/BARERERESl3KvYiIiIiIgmgYi8iIiIikgAq9iIiIiIiCaBiLyIiIiKSAP8fv4GESfVPO9cAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 各类类型用户占比\n",
    "use_c = rfm.groupby('label').count()\n",
    "plt.axis('equal')\n",
    "labels = ['一般价值客户','一般保持客户','一般发展客户','一般挽留客户','重要价值客户','重要保持客户','重要发展客户','重要挽留客户']\n",
    "plt.pie(use_c['M'],\n",
    "       autopct='%3.1f%%',\n",
    "        labels = labels,\n",
    "        pctdistance=0.9,\n",
    "       labeldistance = 1.2,\n",
    "       radius=3,\n",
    "       startangle = 15);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 分析：\n",
    "    1:可以看到一般挽留用户占比36.8%，占比巨大，这是用户运营中的巨大隐患，需要引起重视\n",
    "    2:占比第二大的是一般发展用户，21.4%，需要对这部分用户注重引导转化，提高用户价值\n",
    "    \n",
    "##### 注意:\n",
    "    1,本处用均值划分数据，很可能带来极值的影响，所以可以考虑用例如中位数在做一版"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 用户状态分层"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>month</th>\n",
       "      <th>2016-06-01 00:00:00</th>\n",
       "      <th>2016-07-01 00:00:00</th>\n",
       "      <th>2016-08-01 00:00:00</th>\n",
       "      <th>2016-09-01 00:00:00</th>\n",
       "      <th>2016-10-01 00:00:00</th>\n",
       "      <th>2016-11-01 00:00:00</th>\n",
       "      <th>2016-12-01 00:00:00</th>\n",
       "      <th>2017-01-01 00:00:00</th>\n",
       "      <th>2017-02-01 00:00:00</th>\n",
       "      <th>2017-03-01 00:00:00</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>userMobile</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db920e3a69a262e58cd</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d708288badb22ab1d46</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0000805ecf5800b3267df411dda74e632200d9b53578595fe3d1cf47949d8a44</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f21330f7e3ca42e6916</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>00026c7234c746561ecb358fb8d673413d1fca52adc121704bc530d27dd4d804</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "month                                               2016-06-01  2016-07-01  \\\n",
       "userMobile                                                                   \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db...         0.0         0.0   \n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d7...         0.0         0.0   \n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595...         0.0         0.0   \n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f2...         0.0         0.0   \n",
       "00026c7234c746561ecb358fb8d673413d1fca52adc1217...         0.0         0.0   \n",
       "\n",
       "month                                               2016-08-01  2016-09-01  \\\n",
       "userMobile                                                                   \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db...         1.0         3.0   \n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d7...         0.0         1.0   \n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595...         1.0         0.0   \n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f2...         0.0         3.0   \n",
       "00026c7234c746561ecb358fb8d673413d1fca52adc1217...         0.0         1.0   \n",
       "\n",
       "month                                               2016-10-01  2016-11-01  \\\n",
       "userMobile                                                                   \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db...         0.0         1.0   \n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d7...         0.0         0.0   \n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595...         0.0         0.0   \n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f2...         0.0         0.0   \n",
       "00026c7234c746561ecb358fb8d673413d1fca52adc1217...         1.0         0.0   \n",
       "\n",
       "month                                               2016-12-01  2017-01-01  \\\n",
       "userMobile                                                                   \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db...         0.0         0.0   \n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d7...         0.0         0.0   \n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595...         0.0         0.0   \n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f2...         0.0         0.0   \n",
       "00026c7234c746561ecb358fb8d673413d1fca52adc1217...         0.0         0.0   \n",
       "\n",
       "month                                               2017-02-01  2017-03-01  \n",
       "userMobile                                                                  \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db...         0.0         0.0  \n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d7...         0.0         0.0  \n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595...         0.0         0.0  \n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f2...         0.0         0.0  \n",
       "00026c7234c746561ecb358fb8d673413d1fca52adc1217...         0.0         0.0  "
      ]
     },
     "execution_count": 171,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pivoted_counts = df.pivot_table(index = 'userMobile',\n",
    "                                  columns = 'month',\n",
    "                                  values = 'orderTime',\n",
    "                                  aggfunc = 'count').fillna(0)\n",
    "# pivoted_counts.head()\n",
    "pivoted_counts.head()\n",
    "# 按月份进行对比，1月份哪些是购买的，再去对比二月份哪些是购买的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 判断用户消费状态 消费过的为1 ，没消费过的为0\n",
    "data_purchase = pivoted_counts.applymap(lambda x: 1 if x > 0 else 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 173,
   "metadata": {},
   "outputs": [],
   "source": [
    "#用户状态\n",
    "def active_status(data):\n",
    "    \"\"\"\n",
    "    1 若本月没有消费\n",
    "        1.1若之前是未注册，则依旧为未注册    unreg\n",
    "        1.2若之前有消费，则为流失/不活跃     unactive\n",
    "        1.3其他情况，为未注册               unreg\n",
    "    2 若本月有消费\n",
    "        2.1若是第一次消费，则为新用户        new\n",
    "        2.2若之前有过消费，则上个月为不活跃，则为回流    return\n",
    "        2.3若上个月为未注册，则为新用户      new\n",
    "    除此之外，为活跃                       active\n",
    "    \n",
    "    \"\"\"\n",
    "    status = []\n",
    "    num = data.shape[0]\n",
    "    for i in range(num):\n",
    "        #若本月没有消费\n",
    "#         print(data[i])\n",
    "        if data[i] == 0:\n",
    "            if len(status) > 0:\n",
    "                if status[i-1] == 'unreg':\n",
    "                    status.append('unreg')\n",
    "                else:\n",
    "                    status.append('unactive')\n",
    "            else:\n",
    "                status.append('unreg')                  \n",
    "        #若本月消费\n",
    "        else:\n",
    "            if len(status) == 0:\n",
    "                status.append('new')\n",
    "            else:\n",
    "                if status[i-1] == 'unactive':\n",
    "                    status.append('return')\n",
    "                elif status[i-1] == 'unreg':\n",
    "                    status.append('new')\n",
    "                else:\n",
    "                    status.append('active')\n",
    "    # 这里需要对返回的值进行转换，将列表转为Series\n",
    "    return pd.Series(status, index = pivoted_counts.columns)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 174,
   "metadata": {},
   "outputs": [],
   "source": [
    "purchase_stats = data_purchase.apply(active_status,axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "未注册不希望参与处理 设置为空值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 175,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>month</th>\n",
       "      <th>2016-06-01 00:00:00</th>\n",
       "      <th>2016-07-01 00:00:00</th>\n",
       "      <th>2016-08-01 00:00:00</th>\n",
       "      <th>2016-09-01 00:00:00</th>\n",
       "      <th>2016-10-01 00:00:00</th>\n",
       "      <th>2016-11-01 00:00:00</th>\n",
       "      <th>2016-12-01 00:00:00</th>\n",
       "      <th>2017-01-01 00:00:00</th>\n",
       "      <th>2017-02-01 00:00:00</th>\n",
       "      <th>2017-03-01 00:00:00</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>active</th>\n",
       "      <td>NaN</td>\n",
       "      <td>253.0</td>\n",
       "      <td>17208</td>\n",
       "      <td>14229</td>\n",
       "      <td>10963</td>\n",
       "      <td>6083</td>\n",
       "      <td>2740</td>\n",
       "      <td>247</td>\n",
       "      <td>242</td>\n",
       "      <td>560</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>new</th>\n",
       "      <td>367.0</td>\n",
       "      <td>45979.0</td>\n",
       "      <td>30013</td>\n",
       "      <td>27589</td>\n",
       "      <td>11299</td>\n",
       "      <td>4238</td>\n",
       "      <td>2257</td>\n",
       "      <td>240</td>\n",
       "      <td>570</td>\n",
       "      <td>613</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>return</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>9</td>\n",
       "      <td>3135</td>\n",
       "      <td>4209</td>\n",
       "      <td>3681</td>\n",
       "      <td>2222</td>\n",
       "      <td>308</td>\n",
       "      <td>1135</td>\n",
       "      <td>1444</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>unactive</th>\n",
       "      <td>NaN</td>\n",
       "      <td>114.0</td>\n",
       "      <td>29129</td>\n",
       "      <td>58995</td>\n",
       "      <td>88776</td>\n",
       "      <td>105483</td>\n",
       "      <td>114523</td>\n",
       "      <td>121187</td>\n",
       "      <td>120605</td>\n",
       "      <td>120548</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "month     2016-06-01  2016-07-01  2016-08-01  2016-09-01  2016-10-01  \\\n",
       "active           NaN       253.0       17208       14229       10963   \n",
       "new            367.0     45979.0       30013       27589       11299   \n",
       "return           NaN         NaN           9        3135        4209   \n",
       "unactive         NaN       114.0       29129       58995       88776   \n",
       "\n",
       "month     2016-11-01  2016-12-01  2017-01-01  2017-02-01  2017-03-01  \n",
       "active          6083        2740         247         242         560  \n",
       "new             4238        2257         240         570         613  \n",
       "return          3681        2222         308        1135        1444  \n",
       "unactive      105483      114523      121187      120605      120548  "
      ]
     },
     "execution_count": 175,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>active</th>\n",
       "      <th>new</th>\n",
       "      <th>return</th>\n",
       "      <th>unactive</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>month</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-06-01</th>\n",
       "      <td>0.0</td>\n",
       "      <td>367.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-07-01</th>\n",
       "      <td>253.0</td>\n",
       "      <td>45979.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>114.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-08-01</th>\n",
       "      <td>17208.0</td>\n",
       "      <td>30013.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>29129.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-09-01</th>\n",
       "      <td>14229.0</td>\n",
       "      <td>27589.0</td>\n",
       "      <td>3135.0</td>\n",
       "      <td>58995.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-10-01</th>\n",
       "      <td>10963.0</td>\n",
       "      <td>11299.0</td>\n",
       "      <td>4209.0</td>\n",
       "      <td>88776.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             active      new  return  unactive\n",
       "month                                         \n",
       "2016-06-01      0.0    367.0     0.0       0.0\n",
       "2016-07-01    253.0  45979.0     0.0     114.0\n",
       "2016-08-01  17208.0  30013.0     9.0   29129.0\n",
       "2016-09-01  14229.0  27589.0  3135.0   58995.0\n",
       "2016-10-01  10963.0  11299.0  4209.0   88776.0"
      ]
     },
     "execution_count": 175,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "purchase_status_ct = purchase_stats.replace('unreg',np.NaN).apply(lambda x : pd.value_counts(x))\n",
    "purchase_status_ct\n",
    "\n",
    "#将上面透视表转置\n",
    "purchase_status_ct.fillna(0).T.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 251,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba3a777320>"
      ]
     },
     "execution_count": 251,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '用户分层')"
      ]
     },
     "execution_count": 251,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#作用户状态分层面积图\n",
    "purchase_stats_ct=purchase_status_ct.fillna(0).T\n",
    "purchase_stats_ct.plot.area(figsize=(12,5))\n",
    "plt.title('用户分层')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由上可知不同客户活跃状态,根据业务需求采取不同的运营策略,如拉新,引流,促活,召回等"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 253,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 用户购买周期(按订单)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 176,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "userMobile                                                              \n",
       "00003b39b89b4d868c0ebf5c2f6ecdf93aa1f7ba22145db920e3a69a262e58cd  186900       NaT\n",
       "                                                                  236502   14 days\n",
       "                                                                  241887    1 days\n",
       "                                                                  274330   10 days\n",
       "                                                                  369027   43 days\n",
       "0000537e66d2f2557ed2ef07ff6b68fdf6ed735e95ee2d708288badb22ab1d46  261408       NaT\n",
       "0000805ecf5800b3267df411dda74e632200d9b53578595fe3d1cf47949d8a44  192427       NaT\n",
       "0001bf5d6a7009e000ee0514cc133508c2dcdc3850921f21330f7e3ca42e6916  287055       NaT\n",
       "                                                                  288711    0 days\n",
       "                                                                  297527    2 days\n",
       "Name: orderTime, dtype: timedelta64[ns]"
      ]
     },
     "execution_count": 176,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#计算用户相邻订单日期的差值,其中shift()函数是指将数据进行移动,默认axis=0\n",
    "order_diff=df.groupby('userMobile').apply(lambda x: x.orderTime-x.orderTime.shift())\n",
    "order_diff.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 263,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba3a19e048>"
      ]
     },
     "execution_count": 263,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '用户消费周期分布')"
      ]
     },
     "execution_count": 263,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# order_diff.reset_index().rename(columns={})\n",
    "\n",
    "#作用户消费周期分布：\n",
    "(order_diff/np.timedelta64(1,'D')).hist(bins=20)\n",
    "plt.title('用户消费周期分布')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 266,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba3c321ac8>"
      ]
     },
     "execution_count": 266,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '用户生命周期分布')"
      ]
     },
     "execution_count": 266,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#usertime_diff代表用户消费首次订单与最后一次订单间隔时间\n",
    "usertime_diff=df['orderTime'].groupby(df['userMobile']).max()-df['orderTime'].groupby(df['userMobile']).min() ### 最大值 - 最小值\n",
    "usertime_diff=usertime_diff.reset_index()\n",
    "usertime_diff=usertime_diff['orderTime']/np.timedelta64(1,'D')\n",
    "usertime_diff[usertime_diff>0].hist(bins=40)\n",
    "plt.title('用户生命周期分布')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "绝大部分用户用完即走"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 复购率和回购率分析\n",
    "    复购率:自然月内，购买多次的用户占比\n",
    "    回购率:曾经购买过的用户在某一时期内的再次购买占比"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 复购率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 269,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>month</th>\n",
       "      <th>2016-06-01 00:00:00</th>\n",
       "      <th>2016-07-01 00:00:00</th>\n",
       "      <th>2016-08-01 00:00:00</th>\n",
       "      <th>2016-09-01 00:00:00</th>\n",
       "      <th>2016-10-01 00:00:00</th>\n",
       "      <th>2016-11-01 00:00:00</th>\n",
       "      <th>2016-12-01 00:00:00</th>\n",
       "      <th>2017-01-01 00:00:00</th>\n",
       "      <th>2017-02-01 00:00:00</th>\n",
       "      <th>2017-03-01 00:00:00</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>userMobile</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>13001031231</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001101801</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001140007</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001352283</th>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001454260</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "month        2016-06-01  2016-07-01  2016-08-01  2016-09-01  2016-10-01  \\\n",
       "userMobile                                                                \n",
       "13001031231         0.0         0.0         0.0         1.0         0.0   \n",
       "13001101801         0.0         1.0         4.0         3.0         3.0   \n",
       "13001140007         0.0         1.0         0.0         0.0         0.0   \n",
       "13001352283         0.0         3.0         0.0         2.0         2.0   \n",
       "13001454260         0.0         0.0         1.0         0.0         0.0   \n",
       "\n",
       "month        2016-11-01  2016-12-01  2017-01-01  2017-02-01  2017-03-01  \n",
       "userMobile                                                               \n",
       "13001031231         0.0         0.0         0.0         0.0         0.0  \n",
       "13001101801         1.0         3.0         0.0         3.0         0.0  \n",
       "13001140007         0.0         0.0         0.0         0.0         0.0  \n",
       "13001352283         1.0         0.0         0.0         0.0         0.0  \n",
       "13001454260         0.0         0.0         0.0         0.0         0.0  "
      ]
     },
     "execution_count": 269,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 作透视表，计算客户每个月的消费次数\n",
    "pivoted_counts=df.pivot_table(index='userMobile',\n",
    "                              columns='month',\n",
    "                              values='orderTime',\n",
    "                              aggfunc='count').fillna(0)\n",
    "pivoted_counts.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 270,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>month</th>\n",
       "      <th>2016-06-01 00:00:00</th>\n",
       "      <th>2016-07-01 00:00:00</th>\n",
       "      <th>2016-08-01 00:00:00</th>\n",
       "      <th>2016-09-01 00:00:00</th>\n",
       "      <th>2016-10-01 00:00:00</th>\n",
       "      <th>2016-11-01 00:00:00</th>\n",
       "      <th>2016-12-01 00:00:00</th>\n",
       "      <th>2017-01-01 00:00:00</th>\n",
       "      <th>2017-02-01 00:00:00</th>\n",
       "      <th>2017-03-01 00:00:00</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>userMobile</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>13001031231</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001101801</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001140007</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001352283</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13001454260</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "month        2016-06-01  2016-07-01  2016-08-01  2016-09-01  2016-10-01  \\\n",
       "userMobile                                                                \n",
       "13001031231         NaN         NaN         NaN         0.0         NaN   \n",
       "13001101801         NaN         0.0         1.0         1.0         1.0   \n",
       "13001140007         NaN         0.0         NaN         NaN         NaN   \n",
       "13001352283         NaN         1.0         NaN         1.0         1.0   \n",
       "13001454260         NaN         NaN         0.0         NaN         NaN   \n",
       "\n",
       "month        2016-11-01  2016-12-01  2017-01-01  2017-02-01  2017-03-01  \n",
       "userMobile                                                               \n",
       "13001031231         NaN         NaN         NaN         NaN         NaN  \n",
       "13001101801         0.0         1.0         NaN         1.0         NaN  \n",
       "13001140007         NaN         NaN         NaN         NaN         NaN  \n",
       "13001352283         0.0         NaN         NaN         NaN         NaN  \n",
       "13001454260         NaN         NaN         NaN         NaN         NaN  "
      ]
     },
     "execution_count": 270,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 购买大于1次的 赋值为1 ，然后小于等于1 的 如果是购买次数是0，则赋值为空，否则 就是购买一次，赋值为0\n",
    "purchase_r = pivoted_counts.applymap(lambda x: 1 if x > 1 else np.NaN if x == 0 else 0)\n",
    "purchase_r.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 271,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba04ed9908>"
      ]
     },
     "execution_count": 271,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '复购率')"
      ]
     },
     "execution_count": 271,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#计算复购率\n",
    "(purchase_r.sum()/purchase_r.count()).plot(figsize=(10,4))\n",
    "plt.title('复购率')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 279,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "month\n",
       "2016-06-01    NaN\n",
       "2016-07-01    NaN\n",
       "2016-08-01    NaN\n",
       "2016-09-01    0.0\n",
       "2016-10-01    NaN\n",
       "2016-11-01    NaN\n",
       "2016-12-01    NaN\n",
       "2017-01-01    NaN\n",
       "2017-02-01    NaN\n",
       "2017-03-01    NaN\n",
       "Name: 13001031231, dtype: float64"
      ]
     },
     "execution_count": 279,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "purchase_r.iloc[0,:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def purchase_back(data):\n",
    "    # 定义一个函数，将消费两次以上记为1，消费一次记为0，没有消费记为空值：\n",
    "    status = []\n",
    "    num = len(data)-1\n",
    "    for i in range(num):\n",
    "        if data[i] == 1: # 本月进行过消费\n",
    "            if data[i+1] == 1: # 下一月是否进行消费\n",
    "                status.append(1) #消费为1 回购了\n",
    "            if data[i+1] == 0:\n",
    "                status.append(0) # 未消费则为0 没有回购\n",
    "        else:\n",
    "            status.append(np.NaN) # 之前没消费则不计\n",
    "        status.append(np.NaN) # 最后一个月没有判断需要补上\n",
    "    return pd.Series(status,data_purchase.columns)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# %debug\n",
    "#对透视表应用函数purchase_back:\n",
    "data_purchase.iloc[:4,:4].apply(purchase_back, axis =1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
